uni-app快速入门(五)--判断运行环境及针对不同平台的条件编译

一、判断运行环境

在实际项目开发中,经常需要进行开发环境和生产环境的切换,uni-app可根据process.env.NODE_ENV判断当前运行环境是开发环境和生产环境,根据不同的环境调用不同的后台接口,具体实现方式:

在项目的static目录下建一个js目录,在js目录中再创建一个conf子目录,然后创建一个config.js文件:

let baseApi=process.env.NODE_ENV==='development'?"http://localhost":"http://www.xxx.com';

export default {

baseApi

}

接下来将config.js文件导入到main.js:

import App from './App';

import config from "./static/js/conf/config";

Vue.prototype.$config=config;

在pages/index/index.vue的onLoad可以这样调用进行测试:

onLoad((opts)=>{

console.log(this.$config.baseApi);

......

})

一、判断平台

1、编译期判断

uni-app平台判断包括编译期判断和运行期判断。编译期判断可以写在<script>标签、<template>标签和<style>标签,对于js文件,预编译标签使用//注释,.css文件使用/* */注释、.vue文件使用<!-----> ,换句话说,就是脚本处用//,css处用/**/,页面组件或元素处用<!---->

下面是页面组件处的写法:

js脚本处的写法:

css样式处的写法:

因为uni-app支持编译到多种平台,包括H5、微信小程序、APP等,所以预编译语句的平台编码有一套标准的定义,其中H5的编码为H5,微信小程序的编码为MP-WEIXIN,支付宝小程序的编码为MP-ALIPAY,APP的编码为APP-PLUS。

2 运行期判断

运行期判断指代码已经打入包中,需要再运行期间判断平台类型,可以使用uni.getSystemInfoSync().platform,示例:

switch(uni.getSystemInfoSync().platform){

case 'android':

console.log('安卓');

break;

case 'ios':

console.log('苹果');

break;

default:

console.log('其他');

break;

}

相关推荐
梦曦i9 小时前
uni-router v0.2.0重磅发布:全链路拦截+重复导航优化
前端·uni-app
EatFan9 小时前
【实战经验】uni-app使用 SSE 踩坑,EventSource不支持怎么办?
android·后端·ios·uni-app
凡泰AI14 小时前
如何为政务 APP 搭建开放平台,实现多部门、第三方供应商标准化入驻与统一管理
android·大数据·小程序·uni-app·app·政务
梦曦i1 天前
@meng-xi/uni-router 未来展望:夯实基础、深化体验、探索前沿
前端·uni-app
2501_916007472 天前
使用Apple Dashboards显示和自定iOS应用性能指标与数据可视化指南
android·ios·小程序·https·uni-app·iphone·webview
爱折腾的编程老炮2 天前
潮玩小程序订单模型-一张表装下所有玩法
spring boot·小程序·uni-app
两个人的幸福online2 天前
UniApp 对接 IM 即时通讯全攻略(下篇)
uni-app
2501_915106322 天前
Flutter iOS混淆打包详细教程与步骤
android·flutter·ios·小程序·uni-app·iphone·webview
DK185838322522 天前
【源码开源部署】电竞代练护航陪玩小程序:全游戏服务平台完整解决方案(附宝塔部署教程)
游戏·微信小程序·uni-app·开源·php
码云数智-大飞2 天前
2026 年跨端开发决战:小程序原生 vs uni-app vs Taro 深度对比
小程序·uni-app·taro