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-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

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

  1. uni-app开发中的#ifdef MP是什么意思?条件编译

    跨端兼容https://uniapp.dcloud.io/platform uni-app 已将常用的组件.JS API 封装到框架中,开发者按照 uni-app 规范开发即可保证多平台兼容,大部分业 ...

  2. uni app 开发微信小程序及上线体验

    uni app 开发微信小程序及上线体验 项目创建及微信小程序AppId的申请 本次开发的是电商类的微信小程序,这里用到的是HBuilderX这个编辑器.之前用的Visual Studio Code ...

  3. 切换 uniapp_万能前端框架uni app初探03:底部导航开发

    前言 本节我们使用uni app的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的. 一.基础知识 1.tabBar 如果应用是一个多 tab 应用,可以通过 tabB ...

  4. uni.app H5(微信公众号定位) uni.getLocation

    最近在开发公众号,由于之前经常使用uni,app写APP,索性就用uni.app来开发公众号了, 不过也遇到了一个问题,就是在公众号的首页要获取用户的定位.我看了看官网的API 有个uni.getLo ...

  5. uni app 自动化索引列表

    uni app 自动化索引列表,官方推荐的第三方插件 https://ext.dcloud.net.cn/plugin?id=375 [{"letter": "A&quo ...

  6. uni app 视频播放功能

    视频播放功能,需求:编译成纯h5网页,运行在任意容器里,如浏览器.安卓原生和iOS等 媒体组件video 首先使用video组件,然后高度需要自己设置 uni.createVideoContext 官 ...

  7. 微信开发者工具报错: app.json: 在项目根目录未找到 app.json (env: Windows,mp,1.06.2303220; lib: 2.30.4)

    最近有一个需要使用用uniapp的面试,很久以前也曾研究过一段时间,但是什么都离不开时间的流失,你不学习,看似熟悉的东西就会慢慢溜走. 按照官网的指引,创建了基础项目,想着在小程序开发者工具上看看,但 ...

  8. uni app实现WIFI功能(只支持安卓APP)

    uni app实现WIFI功能 一.前言 二.使用 uni-WIFI 三.使用h5+ api 一.前言 最近需要在uniapp上实现WiFi功能,将个人的研究结果记录如下(都只支持安卓APP) 使用 ...

  9. 在你的 Android App 里接入支付宝

    没想到现在 App 里集成支付宝是这么的简单,我还折腾了好久... 好了,开始,假设你已经完成了支付宝那些繁杂的申请啥的工作,进入开发了. 首先,去下载官方的 DEMO : App支付客户端DEMO& ...

最新文章

  1. gaokao--抓取高校基本信息
  2. CodeForces - 475B Strongly Connected City(最短路+判断强联通图/思维)
  3. intellij选择困难症Spring Batch/Data JPA/Integration/MVC/Security/Web Flow/Web Services到底选哪个?
  4. Silverlight 全屏显示
  5. 用hundred造句子_八个有趣的开学破冰游戏,线上线下都能用
  6. 栈溢出笔记1.1 函数调用过程
  7. Flash中图片的逐步加载
  8. 程序员大厂面试被怼:干这么多年只会增删改查!谁会要!
  9. 更改一个主键的列的类型的步骤
  10. Q129:PBRT-V3,均匀介质的采样(15.2.1章节)
  11. 计算机组成原理 实验报告
  12. 计算机电气工程论文,计算机在电气工程自动化控制的作用
  13. ad18常用快捷键可以修改吗_AD18快捷键
  14. My Fifty-Ninth 全排列Ⅱ - By Nicolas
  15. Dapper基础入门
  16. CIP4和JDF,您知道多少?(转)
  17. 【TINY4412】U-BOOT移植笔记:(9)SD卡启动U-BOOT
  18. 美国国土安全部:Log4j 漏洞的影响将持续十年或更久
  19. OSI七层模型功能及相关设备
  20. 御坂坂的C++学习之路(3)-----函数-----stdarg.h

热门文章

  1. 在英文写作过程中,什么时候需要加the,什么时候不需要加the?
  2. ORA-01034和ORA-27101错误解决办法
  3. rstudio中位数的公式_如何在R中找到中位数
  4. 实现1到100数字的累加
  5. 移远通信推出超小尺寸5G模组;前亚马逊高管加入瑞典SAAS企业咨委会;阳狮集团推出阳狮营销咨询业务板块 | 全球TMT...
  6. 基于可训练Step-size的低比特量化——LSQ: Learned Step-size Quantization
  7. blender立方体开孔
  8. 【Css\flex】css中关于弹性布局flex的综合用法(示例展示)
  9. 偶然发现一个好玩的东西
  10. 大疆无人机安卓Mobile Sdk开发(二)连接无人机,获取无人机信息