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

时间:2018-07-12 08:31:20

标签: vue.js environment-variables environment nuxt.js

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

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

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

项目A

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

项目B

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

项目C

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

1 个答案:

答案 0 :(得分:1)

我最初的想法是将项目特定的信息放入环境变量中,实际上是很糟糕的。您不应在环境中乱写页面标题等变量。相反,我现在的方法是创建一个“ 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;

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