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。建议改用以下方式获取环境变量:

  1. 使用process.env直接访问:
const env = process.env
for (const name in env) {
  if (/^VUE_APP/.test(name)) {
    const value = env[name]
    console.log(name, value)
  }
}
  1. 或者使用uni-app提供的全局变量:
// 在vue文件中
console.log(uni.getSystemInfoSync())
回到顶部