uniapp如何判断当前环境
判断当前运行环境的方法
在UniApp中,可以通过以下方式判断当前运行环境(如H5、小程序、App等),以便执行平台特定的逻辑。
使用 process.env.UNI_PLATFORM
process.env.UNI_PLATFORM 是UniApp提供的全局变量,用于获取当前运行平台:

const platform = process.env.UNI_PLATFORM;
if (platform === 'h5') {
console.log('当前运行在H5环境');
} else if (platform === 'mp-weixin') {
console.log('当前运行在微信小程序');
} else if (platform === 'app') {
console.log('当前运行在App环境');
}
常见平台标识:
h5:H5网页mp-weixin:微信小程序mp-alipay:支付宝小程序mp-baidu:百度小程序mp-toutiao:字节跳动小程序app:App(iOS/Android)
使用 uni.getSystemInfoSync()
通过 uni.getSystemInfoSync() 获取设备信息,进一步判断运行环境:

const systemInfo = uni.getSystemInfoSync();
if (systemInfo.platform === 'devtools') {
console.log('运行在开发者工具');
} else if (systemInfo.platform === 'ios' || systemInfo.platform === 'android') {
console.log('运行在App端');
} else if (systemInfo.uniPlatform === 'web') {
console.log('运行在H5');
}
条件编译
UniApp支持条件编译,通过注释语法实现不同平台的代码区分:
// #ifdef H5
console.log('仅在H5环境执行');
// #endif
// #ifdef MP-WEIXIN
console.log('仅在微信小程序环境执行');
// #endif
// #ifdef APP-PLUS
console.log('仅在App环境执行');
// #endif
条件编译标识:
H5:H5网页MP-WEIXIN:微信小程序APP-PLUS:App端MP-ALIPAY:支付宝小程序
总结
- 使用
process.env.UNI_PLATFORM获取平台标识。 - 通过
uni.getSystemInfoSync()获取更详细的运行环境信息。 - 条件编译可在编译时剔除非目标平台的代码,优化包体积。






