需求场景:
如官网介绍,点击运行,运行的是测试环境,点击发行发布的正式环境。但实际场景是,h5发布测试环境,也得点击发布=>网站PC、WEB或手机H5,这样就会造成问题, 其实只是发布测试环境。
解决方法:自定义条件编译平台
1.package.json扩展配置,先配置好h5 测试环境平台h5-dev,生产平台h5-prod
"uni-app": {
"scripts": {
"h5-dev": {
"title": "H5测试环境",
"env": {
"UNI_PLATFORM": "h5",
"NODE_ENV":"development"
},
"define": {
"H5-DEV": true
}
},
"h5-prod": {
"title": "H5生产环境",
"env": {
"UNI_PLATFORM": "h5",
"NODE_ENV":"production"
},
"define": {
"H5-PROD": true
}
}
}
},
2.接口配置文件config.js,在接口文件,根据编译平台配置不同的IP
let BASE_URL;
if(process.env.NODE_ENV === 'development'){
// #ifdef H5-DEV
BASE_URL = 'http://xxxx' //运行测试环境
// #endif
// #ifndef H5-DEV
BASE_URL = 'http://xxxx' //运行生产环境
// #endif
}else{
// #ifdef H5-DEV
BASE_URL = 'xxxxxx'//发行测试环境
// #endif
// #ifndef H5-DEV
BASE_URL = 'xxxxxxx // 发行正式环境
// #endif
}
export default BASE_URL
3.操作运行各个环境,点击运行配置好的各个环境,点击测试环境则运行的是测试环境、生产环境则运行的是测试环境,当然运行到浏览器也是测试环境
4. 打包各个环境,点击自定义发行下的各个环境,则分别打包对应的环境、当然点击网站PC、WEB或手机H5,还保持原来的逻辑是正式环境
完美避坑
千万记住HBuilderX版本号3.2.9不支持,HBuilderX版本号3.2.9不支持,HBuilderX版本号3.2.9不支持,重要的事说三遍。