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

uni-app官方文档传送门:条件编译(点我)

相信很多刚接触uni-app的童鞋都不太喜欢先看完整官方文档。总会碰到很多不懂的地方第一时间上网搜答案,就比如在uni-app模版看到的#ifdef MP,这是什么鬼?

对于学过C语言的童鞋并不陌生,因为这是条件编译语句

为什么会出现在uni-app里呢?因为uni-app的特性---一份代码,多平台运行。没错,就是一套代码,可以在android ios 各个小程序和h5上运行,因此为了代码简洁性引入的条件编译,

#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就是各个小程序的意思

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

平台参考文档
APP-PLUS5+AppHTML5+ 规范
APP-PLUS-NVUE5+App nvueWeex 规范
H5H5 
MP-WEIXIN微信小程序微信小程序
MP-ALIPAY支付宝小程序支付宝小程序
MP-BAIDU百度小程序百度小程序
MP-TOUTIAO头条小程序头条小程序
MP-QQQQ小程序(目前仅cli版支持)
MP微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序 

示例 如果只需要在微信小程序上编译某段代码的话

// #ifdef MP-WEIXIN
    我是那个代码
// #endif

 

  • 17
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值