uni-app的条件编译

news2024/11/17 3:00:19

条件编译了解

前言:
由于本次业务有 PC 端H5 页面,还有 手机端的H5页面,不同的端,模块展示可能不同,但是大部分功能又是相同的。
如果通过简单的 if…else… 判断不同端,调用相应的 API 或 展示相应的模块,那随着时间和业务的发展,终有一天会造成代码混乱,不好维护。
最重要的一点是在某特定的端上,存在大量的其他端的冗余代码,会增加文件体积,影响加载速度以及性能。
最好的方式就是可以根据端,打包出的代码只有和这个端有关系的代码,无其他冗余代码,这样干净也便于以后的维护。

这样就想到了 条件编译 。 uni-app 跨段框架就使用了 条件编译 。

条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同的平台

写法

以 #ifdef 或 #ifndef 加 %PLATFORM% 开头,以 #endif 结尾。

  • #ifdef:if defined 仅在某平台存在
  • #ifndef:if not defined 除了某平台均存在
  • %PLATFORM%:平台名称

在这里插入图片描述 

%PLATFORM% 可取值如下:

生效条件
VUE3HBuilderX 3.2.0+ 详情
APP-PLUSApp
APP-PLUS-NVUE或APP-NVUEApp nvue
H5H5
MP-WEIXIN微信小程序

 

支持的文件

  • .vue
  • .js
  • .css
  • pages.json
  • 各预编译语言文件,如:.scss、.less、.stylus、.ts、.pug

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/125802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式——设计思想

设计模式——设计思想一、面向对象的四大特性:1、封装2、抽象3、继承4、多态二、抽象类和接口类1、抽象类和接口的语法特性2、抽象类和接口存在的意义3、抽象类和接口的应用场景4、抽象类和接口的区别三、面向对象编程与面向过程编程1、面向对象编程和面向对象编程语…

mac中nvm管理node

目录检查电脑上是否存在node卸载node安装nvm报错查看本机的ip地址修改host文件重新安装nvm - 报错重新安装nvm - 报错安装完成兼容性运行之前的项目 -> 报错运行之前的项目 -> 报错常用命令nvm安装之前若是电脑上存在node,要先将node卸载掉检查电脑上是否存在…

catia建模圆柱直齿轮和斜齿

1 圆弧近似方案 参考 7.1 直齿轮(简单)1_哔哩哔哩_bilibili 2 渐开线生成点--》生成样条曲线方案 参考 7.2渐开线齿廓直齿圆柱齿轮(1)_哔哩哔哩_bilibili xd基圆半径rb *sin(t*PI*1rad)-基圆半径rb *t*PI*cos(t*PI*1rad) yd基…

如何做好性能压测(一):压测环境的设计和搭建

本文是阿里巴巴 PTS 团队《Performance Test Together》系列专题分享,霍格沃兹测试学院经特别授权转载,也会结合学员实际需求组织大咖公开课主题分享,文末有福利! 性能压测,是保障服务可用性和稳定性过程中&#xff0c…

MySQL校招集锦

数据库面试集锦 1.请说下你对MySQL架构的了解 先看一下MySQL的架构图 大体来说,MySQL 可以分为 Server 层和存储引擎两部分。 Server 层包括:连接器、查询缓存、分析器、优化器、执行器等,涵盖了 MySQL 的大多数核心服务功能,…

2.hadoop系列之组成简介

本文我们了解hadoop3的组成部分,如下图所示,包括HDFS数据存储、Yarn资源调度、MapReduce计算 1. HDFS概述 HDFS: Hadoop Distributed File System,是一个分布式文件系统 HDFS由NameNode、DataNode、Secondary NameNode组成 NameNode:存储文…

Zabbix监控docker容器状态信息详解

前言 本篇文章针对zabbix server已部署完成的情况。docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机…

UGUI-ContentSizeFitter之最简单实现maxSize限制

步骤 方法思路如下: 复制ContentSizeFitter源码出来,改名为ContentSizeFitterEx (AddComponentMenu里面的名字也需要改。)FitMode增加枚举MaxSize增加序列化属性m_MaxHorizontal和m_MaxVertical修改HandleSelfFittingAlongAxis增…

智能商业化模式:信息流广告的动态展现策略

丨目录: 摘要 引言 问题建模 实验 总结与展望 关于我们 参考文献▐ 摘要大多数的信息流场景会向用户展现自然内容和商业化内容(广告)的混合结果。一种比较常见的做法是,将广告限定在固定位置进行展现,但由于这种静态广…

7 常用类实例

常用类 1 object类 类的声明:public class object 类所属的包:java.lang object是所有类的根类Java中的所有类,如果没有特殊说明,则默认继承object object的派生类对象都可以调用这些方法,派生类一般会对根据需要重…

2022最新CKA认证指南看这里

目录 🧡CKA简介 🧡CKA报名 🧡注意事项 🧡题目 💟这里是CS大白话专场,让枯燥的学习变得有趣! 💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话&…

代码随想录——二叉树

二叉树遍历 基本介绍: 二叉树主要有两种遍历方式: 深度优先遍历:先往深走,遇到叶子节点再往回走。【前中后序遍历】广度优先遍历:一层一层的去遍历。【层序遍历】 这两种遍历是图论中最基本的两种遍历方式 深度优…

录制电脑内部声音,2个方法,轻松解决

在我们日常的学习、娱乐和工作中,我们经常会遇到需要使用电脑录屏的情况。在电脑录屏的时候,怎么录制电脑内部声音?今天小编分享2个方法,教你如何轻松解决这个问题,一起来看看吧。 录制电脑内部声音方法1:Q…

Python基于PyTorch实现BP神经网络ANN分类模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工神…

什么是真正的骨传导耳机,五款真骨传导耳机推荐

市面上真假骨传导耳机不能辨别?真骨传导耳机是没有喇叭传播声音的,通过振子传播声音,我们在区分耳机是不是真骨传导耳机时,可以看看机身有没有喇叭音孔,有音孔的就不是利用骨传导传播声音的方式,下面就给大…

新的AI技术展望

“科学史是克服我们自身认知局限的不懈动力。”——约翰克拉考尔 这些是关于未来人工智能的话语。现在你可能在想,人工智能将如何影响我们,我们将如何处理它? 不用担心; 我有一个答案。AI(人工智能)已经在很多方面影…

easyexcel案例之类型转换,合并单元格,批注,下拉框,导入校验

文章目录easyexcel案例之类型转换,合并单元格,批注,下拉框,导入校验一、依赖二、导出1.类型转换导出2.自定义文件标题3.合并单元格导出注解方式通过 registerWriteHandler 方法注册进去自定义合并规则进行合并4.批注和下拉框导出批…

vulnhub DC系列 DC-2

总结:cewl和wpscan的使用,rbash逃逸,suid提权 下载地址 DC-2.zip (Size: 847 MB)Download: http://www.five86.com/downloads/DC-2.zipDownload (Mirror): https://download.vulnhub.com/dc/DC-2.zip使用方法:解压后,使用vm直接打开ova文件 漏…

MergeTree原理之二级索引

二级索引 除了一级索引之外,MergeTree同样支持二级索引,二级索引又称跳数索引,由数据的聚合信息构建而成。根据索引类型的不同,其聚合信息的内容也不同,当然跳数索引的作用和一级索引是一样的,也是为了查询…

【SpringCloud】什么是微服务?什么是SpringCloud?

【SpringCloud】什么是微服务?什么是SpringCloud? 一、什么是微服务? 1. 微服务架构的演变历程 单体架构 单体架构优缺点 2. 分布式架构 分布式架构优缺点 存在问题 3. 微服务 微服务的架构特征 微服务的优缺点 二、SpringClo…