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

问题描述

我想根据我的 NODE_ENV 将不同的 app-links.json 添加到我的项目的根目录

我没有看到将特定文件添加public 中的 nuxt-config.js 文件


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

生产中

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

并在分期

[{
  "relation": ["delegate_permission/common.handle_all_urls"],"package_name": "...STAGING...",}
}]

解决方法

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

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

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

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

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