如何根据环境在公用文件夹中创建文件

Posted

技术标签:

【中文标题】如何根据环境在公用文件夹中创建文件【英文标题】:How to create a file in public folder according to environnement 【发布时间】:2021-08-22 15:00:55 【问题描述】:

我想根据我的 NODE_ENV 在我的项目的根目录中添加一个不同的app-links.json

我没有看到任何关于将特定文件添加到 nuxt-config.js 中的 public 文件夹的任何信息


例如,我想让我的app-links.json 位于我的项目的根目录

生产中

[
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": 
    "namespace": "android_app",
    "package_name": "...PRODUCTION...",
  
]

并在暂存中

[
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": 
    "namespace": "android_app",
    "package_name": "...STAGING...",
  
]

【问题讨论】:

【参考方案1】:

在我之前的答案之一中解释了类似的内容:https://***.com/a/67689890/8816585

nuxt.config.js 文件的顶部使用 fs.writeFile 根据您的环境编写文件。

if (process.env.NODE_ENV === 'production') 
  fs.writeFile(...production)
 else if (process.env.NODE_ENV === 'staging') 
  fs.writeFile(...staging)

这样,每次构建项目时,它都会检查与您的环境相关的环境变量并创建正确的文件。

您可以使用NODE_ENV=production yarn generate(或NODE_ENV=production yarn build,以防您的目标是server)在本地尝试此操作。

【讨论】:

以上是关于如何根据环境在公用文件夹中创建文件的主要内容,如果未能解决你的问题,请参考以下文章

使用htaccess从URL中删除公用文件夹

如何从公用文件夹中访问环境变量?

Exchange Onine 公用文件夹

Exchange 2010 - 如何重置或删除公用文件夹的权限?

在 Laravel 中,如何获取公用文件夹中所有文件的列表?

让 Laravel 在开发机器上加载一个备用公用文件夹