Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Javascript 在vuejs应用程序中使用环境变量_Javascript_Node.js_Vue.js_Environment Variables - Fatal编程技术网

Javascript 在vuejs应用程序中使用环境变量

Javascript 在vuejs应用程序中使用环境变量,javascript,node.js,vue.js,environment-variables,Javascript,Node.js,Vue.js,Environment Variables,我读了这篇关于如何在vuejs中使用环境变量的文章 我已经安装了本地.env.local文件并安装了dotenv VUE_APP_AUTH_AUTHORITY = 'http://localhost/auth' 我有一个配置文件 export default { AUTH_AUTHORITY: process.env.VUE_APP_AUTH_AUTHORITY, } 这在我的本地机器上工作 在开发中准备构建之后,我想将构建输出部署到生产环境中,并在生产中设置环境变量 构建必须在开发环境

我读了这篇关于如何在vuejs中使用环境变量的文章

我已经安装了本地.env.local文件并安装了dotenv

VUE_APP_AUTH_AUTHORITY = 'http://localhost/auth'
我有一个配置文件

export default {
  AUTH_AUTHORITY: process.env.VUE_APP_AUTH_AUTHORITY,
}
这在我的本地机器上工作

在开发中准备构建之后,我想将构建输出部署到生产环境中,并在生产中设置环境变量

构建必须在开发环境中完成,并将输出发送到位于不同位置的生产团队

目前,应用程序似乎没有在生产环境中拾取env变量

我已经在服务器(windows 2012)上设置了
VUE\u APP\u AUTH\u AUTH\u AUTHORITY
的值,并且应用程序正在IIS上运行


在构建包的过程中是否需要设置该值,以使其在应用程序中可用

当您在
.env.*
中指定变量时,您无法在运行时对其进行更改,因为这些“变量名”将在与Webpack绑定时被替换为变量值(用于此目的)

您可以在output js bundle中看到您的
process.env.VUE\u APP\u AUTH\u AUTH\u权限刚刚在code中替换为
http://localhost/auth“
string。因此,env变量仅在构建期间使用(由Nodejs环境使用)

对于生产,您应该使用变量准备
.env.production
,并使用
生产模式构建应用程序


另请参阅文档:

根据构建设置的方式,可能需要在构建包之前进行设置。当我使用gulp时,它会将一些env变量烘焙到包中,因此它们必须在构建之前设置。有没有方法在构建之后设置它?因为我没有访问生产环境的权限。您希望在实际部署最终应用程序的服务器上设置环境变量,而不是在创建生成的服务器上设置环境变量。为了实际帮助您,我们需要有关您如何在生产环境中部署应用程序的更多信息。是的,我想在生产服务器上设置环境变量,并在开发环境中完成构建。我已经为问题添加了更多信息。谢谢,这很有意义。唯一的问题是我无法访问生产值。该值可以是生产团队选择的任何值,但该值对开发团队不可用。@capiono因此,提供值的唯一方法是创建一些运行时配置,并由有权访问产品值的人员手动更改值。