1,编译期判断(条件编译,代码块中的代码只会编译到对应的发行包里)
①例如:
// #ifdef H5
alert("只有h5平台才有alert方法")
// #endif
// #ifndef H5
alert("除了h5平台之外的其他平台才有的方法")
// #endif
②//#ifdef %PLATFORM% //#endif 可以使用的值
| 值 |
生效条件 |
| VUE3 |
HBuilderX 3.2.0+ 详情 |
| APP-PLUS |
App |
| APP-PLUS-NVUE或APP-NVUE |
App nvue |
| H5 |
H5 |
| MP-WEIXIN |
微信小程序 |
| MP-ALIPAY |
支付宝小程序 |
| MP-BAIDU |
百度小程序 |
| MP-TOUTIAO |
字节跳动小程序 |
| MP-LARK |
飞书小程序 |
| MP-QQ |
QQ小程序 |
| MP-KUAISHOU |
快手小程序 |
| MP-360 |
360小程序 |
| MP |
微信小程序/支付宝小程序/百度小程序/字节跳动小程序/飞书小程序/QQ小程序/360小程序 |
| QUICKAPP-WEBVIEW |
快应用通用(包含联盟、华为) |
| QUICKAPP-WEBVIEW-UNION |
快应用联盟 |
| QUICKAPP-WEBVIEW-HUAWEI |
快应用华为 |
③支持的文件
- .vue/.nvue:<!-- 注释 -->
- .js:// 注释
- .css:/* 注释 */
- pages.json: // 注释
- 各预编译语言文件,如:.scss、.less、.stylus、.ts、.pug
④注:VUE3 需要在项目的 manifest.json 文件根节点配置 "vueVersion" : "3"
补充:uni-app static目录的条件编译
2,运行期判断
可使用 uni.getSystemInfoSync().platform 判断客户端环境是 Android、iOS 还是小程序开发工具(在百度小程序开发工具、微信小程序开发工具、支付宝小程序开发工具中使用 uni.getSystemInfoSync().platform 返回值均为 devtools)。
1 switch(uni.getSystemInfoSync().platform){
2 case 'android':
3 console.log('运行Android上')
4 break;
5 case 'ios':
6 console.log('运行iOS上')
7 break;
8 default:
9 console.log('运行在开发者工具上')
10 break;
11 }
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/p/15842098.html
来源:https://www.cnblogs.com/qq2806933146xiaobai/p/15842098.html |