当前位置:编程学习 > 微信小程序 >>

uni-app 里的#ifdef MP是什么意思?条件编译

#ifdef   #ifndef  #endif
标准的语法

// #ifdef %PLATFORM%
 %PLATFORM%为平台名称
 这里的内容只会编译在该平台
// #endif
可以看到其实以#ifdef开头 #endif结尾,但是注意一下就会发现前面双斜杠,这里是注释标记

也就是说在各个代码块里的注释不一样,注释标记就要切换掉,比如

js:  // #ifdef
tag标签: <!--  #ifdef  --> 
css样式: /*  #ifdef  */ 
解释一下语句是什么意思

#ifdef :       if defined  仅在某个平台编译
#ifndef :     if not defined  在除里该平台的其他编译
#endif :       end if 结束条件编译
%PLATFORM%       需要编译的平台,上面的MP就是各个小程序的意思

111uni-app支持的各个平台(下面官网copy过来的)

平台 参考文档
APP-PLUS 5+App HTML5+ 规范
APP-PLUS-NVUE 5+App nvue Weex 规范
H5 H5  
MP-WEIXIN 微信小程序 微信小程序
MP-ALIPAY 支付宝小程序 支付宝小程序
MP-BAIDU 百度小程序 百度小程序
MP-TOUTIAO 头条小程序 头条小程序
MP-QQ QQ小程序 (目前仅cli版支持)
MP 微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序  

示例 如果只需要在微信小程序上编译某段代码的话
// #ifdef MP-WEIXIN
 我是那个代码
// #endif

例如我从源码中拷贝出来的:

<!-- 小程序头部兼容 -->
 <!-- #ifdef MP -->
 <view class="mp-search-box">
 <input class="ser-input" type="text" value="输入关键字搜索" disabled />
 </view>
 <!-- #endif -->

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,