我读了这个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
模式构建您的应用。
关于javascript - 在 vuejs 应用程序中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51823929/