【发布时间】:2022-01-11 05:03:32
【问题描述】:
我正在构建一个 Nuxt 应用程序,其中我将有两个环境 staging 和 production ,本地也应该被视为 staging,现在我需要创建一些命令并生成用于生产和 staging 的构建,它将部署在两个单独的服务器上。
我有两个问题
1)命令
npm run generate
总是生成一个我检查过的生产版本
console.log(process.env.NODE_ENV)
如何生成一个新的构建,其中 env 应该类似于 staging?
2)我想创建一些 .env 文件来保存一些与环境相关的变量,但我对如何为多个环境(暂存和生产)创建多个环境文件感到困惑。
我知道我的问题有点研究方向,我花了几天时间在互联网上进行研究,但是这些博客要么不相关,要么令人困惑,我从来没有真正得到我想要的东西,有人能指出我正确的方向吗?
【问题讨论】:
-
NODE_env需要在暂存平台上定义,env 文件也是如此。这意味着如果您想要在本地使用某个变量,请将其设置在.env中,如果您想要在 Heroku、AWS 或类似平台上暂存/生产的特定变量,请在此处设置 env 变量(不是在.env中,而是在某些仪表板/设置选项卡)。 -
如果我没记错的话,
generate使用默认的production,如果没有通过。如果你给它一个特定的值,无论是.env还是前缀npm run generate,都应该不错! -
@kissu 我通过在 .env 中定义 NODE_ENV=staging 生成了一个构建,当我创建一个构建时,没有任何改变仍然显示生产
-
这是因为构建时会覆盖环境变量。
标签: javascript vue.js nuxt.js dotenv