Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 如何在Nuxt.js中为多个主机创建环境变量?_Vue.js_Environment Variables_Environment_Nuxt.js - Fatal编程技术网

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

Vue.js 如何在Nuxt.js中为多个主机创建环境变量?,vue.js,environment-variables,environment,nuxt.js,Vue.js,Environment Variables,Environment,Nuxt.js,我正在构建一个Vue.js/Nuxt.js web应用程序。该应用程序将用于多个不同的项目。我希望有一个全局配置文件,其中包含项目特定的信息,例如页面标题或按钮值等 我知道您可以在numxt.config.js中定义环境变量,但是我不知道如何为多个项目定义它们,以及如何区分这些项目。我也尝试过使用dotenv,但如果不创建多个.env文件(.env.test,.env.staging),我就不知道如何定义多个项目的变量,例如通过主机名来区分它们 我需要一种为以下环境定义环境变量的方法: 项目A

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

我知道您可以在
numxt.config.js
中定义环境变量,但是我不知道如何为多个项目定义它们,以及如何区分这些项目。我也尝试过使用
dotenv
,但如果不创建多个
.env
文件(
.env.test
.env.staging
),我就不知道如何定义多个项目的变量,例如通过主机名来区分它们

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

项目A

  • 测试环境(本地)
  • 登台环境
  • 生活环境
  • 项目B

  • 测试环境(本地)
  • 登台环境
  • 生活环境
  • 项目C

  • 测试环境(本地)
  • 登台环境
  • 生活环境

  • 我最初的想法是将特定于项目的信息放入环境变量中,这实际上是非常糟糕的。你不应该在环境中乱扔诸如页面标题等变量。相反,我现在的方法是创建一个“配置”文件,并为不同的项目添加不同的变量。比如:

    const configProd = { FOO: 'bar', BAR: 'foo' };
    const configStaging = { FOO: 'foo', BAR: 'bar' };
    
    const portalConfig = process.env.NODE_ENV === 'production' ? configProd : configStaging;
    
    export const portalConfig;
    

    然后,无论您想在哪里使用配置变量,只需导入配置文件。

    您找到解决方案了吗?@larrykkk请查看下面我的答案。