有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

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

uni-app cat 3个月前 (07-19) 116次浏览 已收录 0个评论 扫描二维码

相信很多刚接触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就是各个小程序的意思

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

// #ifdef MP-WEIXIN
    我是那个代码
// #endif
喜欢 (0)
cat
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址