node.js - 在 Vue.js 中使用环境变量

标签 node.js vue.js environment-variables vue-cli vue-cli-3

我一直在阅读官方文档,但找不到任何关于环境变量的内容。显然有一些支持环境变量的社区项目,但这对我来说可能有点矫枉过正。所以我想知道在处理已经使用 Vue CLI 创建的项目时,是否有一些简单的开箱即用的方法可以在本地工作。

例如,我可以看到,如果我执行以下操作,就会打印出正确的环境,这意味着这已经设置好了?

mounted() {
  console.log(process.env.ROOT_API)
}

我对环境变量和 Node 有点陌生。

仅供引用,使用 Vue CLI 3.0 beta 版。

最佳答案

Vue.js 与 Webpack

如果您将 vue cli 与 Webpack 模板(默认配置)一起使用,您可以创建环境变量并将其添加到 .env 文件中。

这些变量将在您的项目中的 process.env.variableName 下自动访问。加载的变量也可用于所有 vue-cli-service 命令、插件和依赖项。

您有几个选择,这是来自 Environment Variables and Modes documentation :

.env                # loaded in all cases
.env.local          # loaded in all cases, ignored by git
.env.[mode]         # only loaded in specified mode
.env.[mode].local   # only loaded in specified mode, ignored by git

您的 .env 文件应如下所示:

VUE_APP_MY_ENV_VARIABLE=value
VUE_APP_ANOTHER_VARIABLE=value

如下评论所述: 如果您使用的是 Vue cli 3,则只会加载以 VUE_APP_ 开头的变量。

如果当前正在运行,请不要忘记重新启动 serve

Vue.js 与 Vite

Vite 在特殊的 import.meta.env 对象上公开以 VITE_ 开头的 env 变量。

您的 .env 应该如下所示:

VITE_API_ENDPOINT=value
VITE_API_KEY=value

这些变量可以在 import.meta.env.VITE_API_ENDPOINTimport.meta.env.VITE_API_KEY 下的 Vue.js 组件或 JavaScript 文件中访问。

提示:如果您在 .env 文件中更改或添加变量(如果它正在运行),请记住重新启动您的开发服务器。

更多信息,请查看Vite documentation for env variables .

关于node.js - 在 Vue.js 中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50828904/

相关文章:

php - 如何让 Laravel 4 环境变量工作?

javascript - Karma 无法在 Windows 上启动 PhantomJS - 错误 : spawn UNKNOWN

node.js - 解析主要的 bower 文件(js、css、scss、图像)以通过 Gulp 分发

node.js - 测试错误通过 Mocha 回调传回,应该

vue.js - 如何在元素中定位 router-link-active 类?

javascript - Vue Js - 无法读取未定义的属性 - (但它在浏览器上呈现)

asp.net-mvc - 为 Azure 上托管的 MVC 网站设置 GOOGLE_APPLICATION_CREDENTIALS

javascript - 通过 node.js 运行带参数的 Bash 脚本

javascript - 观察 $route 对象的变化 - Vue Router

java - 将自定义环境变量传递给 maven cargo