uni-app hbuildx 版本3.2.9.20210927 3.2.12.20211029打包环境变量丢失
uni-app hbuildx 版本3.2.9.20210927 3.2.12.20211029打包环境变量丢失
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| HBuilderX | 3.2.9 |
示例代码:
// vue.config.js
configureWebpack: config => {
console.log('运行脚本:', process.env.UNI_SCRIPT)
console.log('平台:', process.env.UNI_PLATFORM)
console.log('环境:', process.env.NODE_ENV)
const externals = {}
let result = ''
for (const name in process.UNI_SCRIPT_ENV) {
if (/^VUE_APP/.test(name)) {
const value = process.UNI_SCRIPT_ENV[name]
externals[name] = 'window.' + name
result += `var ${name}="${value}";`
console.log(name, value)
}
}
}
...
更多关于uni-app hbuildx 版本3.2.9.20210927 3.2.12.20211029打包环境变量丢失的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
v3.2.16已修复
更多关于uni-app hbuildx 版本3.2.9.20210927 3.2.12.20211029打包环境变量丢失的实战教程也可以访问 https://www.itying.com/category-93-b0.html
88,转入taro…
在HBuilderX 3.2.9和3.2.12版本中,process.env.UNI_SCRIPT_ENV确实可能出现未定义的情况。这是因为这两个版本在环境变量处理机制上存在一些调整。
根据你的代码,问题出现在访问process.UNI_SCRIPT_ENV时,这个对象可能为undefined。建议改用以下方式获取环境变量:
- 使用
process.env直接访问:
const env = process.env
for (const name in env) {
if (/^VUE_APP/.test(name)) {
const value = env[name]
console.log(name, value)
}
}
- 或者使用uni-app提供的全局变量:
// 在vue文件中
console.log(uni.getSystemInfoSync())

