如何在 Nuxt 中为多个环境创建构建?

How to create a build for multiple environments in Nuxt?

我正在构建一个 Nuxt 应用程序,其中我将有两个环境 staging 和 production,本地也应该被视为 staging,现在我需要创建一些命令并生成构建用于生产和暂存,将部署在两个单独的服务器上。

我有两个问题

  1. 命令
npm run generate

总是生成一个生产版本,我用

检查过它
console.log(process.env.NODE_ENV)

我怎样才能生成一个新的构建,其中的环境应该类似于暂存?

  1. 我想创建一些 .env 文件来保存一些与环境相关的变量,但我对如何为多个环境(暂存和生产)创建多个环境文件感到困惑。

我知道我的问题有点研究方向,我花了几天时间在互联网上进行研究,但这些博客要么不相关,要么令人困惑。我从来没有真正得到我要找的东西,有人能给我指明正确的方向吗?

如上所述,你可以做到
NODE_ENV="staging" npm run generate
在构建应用程序时,即使这是 not recommended,你也应该使用另一个环境变量,如 ENV,并根据这个变量为你的应用程序设置条件。

如果您想了解更多有关如何使用环境变量的详细信息,可以查看this answer

然后,env 变量的工作方式仍然适用于我所说的 AWS/Heroku 等等...

使用 nuxt --dotenv 并将路径传递给您的 env 文件,例如 .env.production 例子 package.json:

{
  "scripts":{
    "prod":"NODE_ENV=production && nuxt --dotenv .env.production"
  }
}