注意:文章中使用的 HBuilderX 版本为
4.24
。
使用 HBX 创建的 uni-app
项目(非CLI创建),想要定义环境变量一直是一个让人非常困扰的事情。
官方的文档 关于环境变量的说明也非常暧昧不清。
通过关键词 环境变量
检索会出现5篇相关文档:
- #配置环境变量 - vue.config.js | uni-app官网
- #判断平台 - 开发环境和生产环境 | uni-app官网
- #环境变量 - Vue2升3指南 | uni-app官网
- 编辑器配置 | uni-app官网
- 真机运行常见问题@run | uni-app官网
所以我早期定义环境变量就是使用的第一个文档链接中使用 DefinePlugin 来定义环境变量的方式
// vue.config.js
module.exports = {
chainWebpack: config => {
config
.plugin('define')
.tap(args => {
args[0]['process.env'].MY_TEST = '"test"' // 注意需要多层引号包裹
return args
})
}
}
注意:注意需要多层引号包裹自定义环境变量的值。
const test = process.env.MY_TEST // test
console.table(process.env)
// (索引) 值
// NODE_ENV development
// VUE_APP_NAME Test-Project
// VUE_APP_PLATFORM h5
// BASE_URL /
// MY_TEST test
我这边在声明环境变量时,不需要使用
VUE_APP_
这样的前缀,但是官方的示例中是有的。如果你无法在业务代码中正确获取到,可以尝试添加VUE_APP_
前缀(👉VUE_APP_MY_TEST
)