vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue没有设置process.env但是还是可以获取

Vue项目中没有设置process.env但是还是可以获取到的原因分析及解决方案

作者:清风细雨_林木木

虽然没有在 Vue 项目中显式设置 process.env,但依然能获取到一些 process.env.xxx是因为Vue CLI 或 Vite 在构建时自动注入了环境变量,本文给大家分享解决方案,感兴趣的朋友一起看看吧

虽然没有在 Vue 项目中显式设置 process.env,但依然能获取到一些 process.env.xxx,是因为:

原因:Vue CLI 或 Vite 在构建时自动注入了环境变量

Vue CLI 项目(使用 webpack)

Vue CLI 默认会在构建过程中注入所有以 VUE_APP_ 开头的 .env 变量,还有几个内建变量:

Vite 项目

Vite 的环境变量行为稍有不同:

# .env
VITE_API_URL=https://api.example.com

在代码中:

// 对于 Vue + Vite 项目
console.log(import.meta.env.VITE_API_URL);

为什么还能用 process.env?

在 Vite 项目中,Vite 会模拟 process.env.NODE_ENV 供部分工具兼容,你可能还能访问:

console.log(process.env.NODE_ENV);  // 'development' | 'production'

但其他自定义变量不会自动挂载到 process.env 中。

如何正确使用? Vue CLI:

VUE_APP_API_URL=https://example.com
console.log(process.env.VUE_APP_API_URL);

Vite:

VITE_API_URL=https://example.com
console.log(import.meta.env.VITE_API_URL);

📌 总结

构建工具环境变量写法获取方式
Vue CLIVUE_APP_process.env.VUE_APP_XXX
ViteVITE_import.meta.env.VITE_XXX
内建变量NODE_ENV都能访问到(Vite 模拟)

到此这篇关于Vue项目中没有设置process.env但是还是可以获取到的原因分析及解决方案的文章就介绍到这了,更多相关Vue没有设置process.env但是还是可以获取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文