English
uni-app
可通过 process.env.NODE_ENV
判断当前环境是开发环境还是生产环境。一般用于连接测试服务器或生产服务器的动态切换。
if (process.env.NODE_ENV === 'development') {
console.log('开发环境');// 发布到生产环境时,此处代码会被摇树移除掉。
} else {
console.log('生产环境');
}
如果你需要自定义更多环境,比如测试环境:
快捷代码块
HBuilderX 中敲入代码块 uEnvDev
、uEnvProd
可以快速生成对应 development
、production
的运行环境判定代码。
// uEnvDev
if (process.env.NODE_ENV === 'development') {
// TODO
}
// uEnvProd
if (process.env.NODE_ENV === 'production') {
// TODO
}
平台判断有 2 种场景,一种是在编译期判断,一种是在运行期判断。
// #ifdef H5
alert('只有h5平台才有alert方法');
// #endif
如上代码只会编译到 H5 的发行包里,其他平台的包不会包含如上代码。
uni.getSystemInfoSync().platform
判断客户端环境是 Android、iOS 还是小程序开发工具(在百度小程序开发工具、微信小程序开发工具、支付宝小程序开发工具中使用 uni.getSystemInfoSync().platform
返回值均为 devtools)。switch (uni.getSystemInfoSync().platform) {
case 'android':
console.log('运行Android上');
break;
case 'ios':
console.log('运行iOS上');
break;
default:
console.log('运行在开发者工具上');
break;
}
如有必要,也可以在条件编译里自己定义一个变量,赋不同值。在后续运行代码中动态判断环境。
其他环境变量的定义方式参考 环境变量。