• uni-app条件编译


    // #ifdef %PLATFORM%
       这里的代码只在该平台下进行编译
    // #endif
    
    #ifdef :      if defined  仅在某个平台编译
    #ifndef :     if not defined  在除里该平台的其他编译
    #endif :      end if 结束条件编译
    %PLATFORM%     需要编译的平台
    

    uni-app支持的各个平台

    平台
    APP-PLUS 5+App
    APP-PLUS-NVUE 5+App nvue
    H5 H5
    MP-WEIXIN 微信小程序
    MP-ALIPAY 支付宝小程序
    MP-BAIDU 百度小程序
    MP-TOUTIAO 头条小程序
    MP-QQ QQ小程序
    MP 微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序

    支持的文件

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

    注意: 条件编译是利用注释实现的,在不同语法里注释写法不一样,js使用 // 注释、css 使用 /* 注释 */、vue/nvue 模板里使用

    <template>
    	<div>
    		<cu-custom bgColor="bg-gradual-blue">
    			<block slot="content">首页</block>
    		</cu-custom>
    		
    		<!-- #ifdef APP-PLUS -->
    			<view>
    				这里是app 
    			</view>
    		<!-- #endif -->
    		
    		<!-- #ifdef H5 -->
    			<view>
    				这里是H5 
    			</view>
    		<!-- #endif -->
    		
    		<!-- #ifdef MP -->
    			<view>
    				这里是微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序
    			</view>
    		<!-- #endif -->
    	
    		
    		 <view>
    		 	这里没有通过条件判断的
    		 </view>
    		
    	</div>
    </template>
    
    <script>
    	export default{
    		data(){
    			return{
    				
    			}
    		},
    		methods:{
    			 
    		}
    	}
    </script>
    
    <style>
    </style>
    
    
    

    结果:

    static 目录的条件编译:

    在不同平台,引用的静态资源可能也存在差异,通过 static 的的条件编译可以解决此问题,static 目录下新建不同平台的专有目录(目录名称同 %PLATFORM% 值域,但字母均为小写),专有目录下的静态资源只有在特定平台才会编译进去。

    如以下目录结构,a.png 只有在微信小程序平台才会编译进去,b.png 在所有平台都会被编译。

    ┌─static                
    │  ├─mp-weixin
    │  │  └─a.png     
    │  └─b.png
    ├─main.js        
    ├─App.vue      
    ├─manifest.json 
    └─pages.json  
    

    整体目录条件编译:

    如果想把各平台的页面文件更彻底的分开,也可以在uni-app项目根目录创建platforms目录,然后在下面进一步创建APP-PLUS、MP-WEIXIN等子目录,存放不同平台的文件。

  • 相关阅读:
    E:Could not get lock /var/lib/apt/lists/lock
    报错:shell-init: error retrieving current directory: getcwd: cannot access parent directories
    随记
    Linux下C++调用后端接口
    Python操作Execl
    使用CamFI设备二次开发,传输照片遇到的问题
    “Could not determine which "make" command to run. Check the "make" step in the build configuration.” 在Linux下 Qt图形库出错解决
    在Linux系统下Qt中获取相对路径
    C++命名空间
    css知识点汇总
  • 原文地址:https://www.cnblogs.com/justyouadmin/p/13384466.html
Copyright © 2020-2023  润新知