如何为Nuxt.js中的多个主机创建环境变量?

How to create environment variables for multiple hosts in Nuxt.js?

我正在构建一个 Vue.js / Nuxt.js 网络应用程序。该应用程序将用于多个不同的项目。我想要一个全局配置文件,其中包含项目特定信息,例如页面标题或按钮值等。

我知道你可以在nuxt.config.js中定义环境变量,但是我不知道如何为多个项目定义它们以及如何区分项目。我也尝试过 dotenv 但我无法弄清楚如何为多个项目定义变量并通过主机名区分它们而不创建多个 .env 文件(.env.test.env.staging...)

我需要一种为以下环境定义环境变量的方法:

项目 A

  1. 测试环境(本地)
  2. 暂存环境
  3. 生活环境

项目 B

  1. 测试环境(本地)
  2. 暂存环境
  3. 生活环境

项目 C

  1. 测试环境(本地)
  2. 暂存环境
  3. 生活环境

我最初将项目特定信息放入环境变量的想法实际上很糟糕。您不应该在环境中乱放页面标题等变量。相反,我现在的方法是创建一个 "config" 文件并为不同的项目添加不同的变量。类似于:

const configProd = { FOO: 'bar', BAR: 'foo' };
const configStaging = { FOO: 'foo', BAR: 'bar' };

const portalConfig = process.env.NODE_ENV === 'production' ? configProd : configStaging;

export const portalConfig;

然后,无论您想在何处使用配置变量,只需导入配置文件即可。