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

标签 javascript node.js vue.js environment-variables

我读了这个articles关于如何在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_APP_AUTH_AUTHORITY 的值并且应用程序在 IIS 上运行。

是否需要在构建包期间设置该值才能在应用程序中使用?

最佳答案

当您在 .env.* 中指定变量时,您不能在运行时更改它,因为这些“变量名”在与 Webpack 捆绑期间将被替换为变量值(它使用 DefinePlugin 作为这个)。

您可以在输出的 js 包中看到您的 process.env.VUE_APP_AUTH_AUTHORITY 刚刚在代码中替换'http://localhost/auth'字符串。所以 env 变量仅在构建期间使用(通过 Nodejs 环境)。

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

另请参阅文档:Using Env Variables in Client-side Code / Vue Cli

关于javascript - 在 vuejs 应用程序中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51823929/

相关文章:

javascript - 当任何输入字符串可能表示大于 'str1 < str2' 的数值时,使用 'Number.MAX_SAFE_INTEGER' 是否安全?

javascript - 使用 v-model 和 v-bind 的单选按钮上的值的 Vue JS Prop 错误 ="$attrs"

javascript - 如何增加 Vue 应用程序的 max-http-header-size

javascript - 可以组合 apollo 查询(在 nuxt 内?)

javascript - Openlayers - 使用标记 ID 和 onclick 事件显示太平洋标记弹出窗口

javascript - 常见 JS - 是否可以要求一个函数

node.js - 需要明确提供方言

node.js - 将字段添加到从 Mongoose 模式派生的模型中

javascript - 尝试更新更改变量时出现未定义错误

javascript - jQuery.each 在 window.onbeforeunload 函数中不起作用