当前位置:首页 > uni-app

uniapp 代码区分

2026-02-06 00:10:06uni-app

区分开发环境与生产环境

uniapp 中可通过 process.env.NODE_ENV 判断当前环境:

  • 开发环境值为 'development'
  • 生产环境值为 'production'

示例代码:

if (process.env.NODE_ENV === 'development') {
  console.log('开发环境');
} else {
  console.log('生产环境');
}

区分平台(App/H5/小程序)

使用 uni.getSystemInfoSync().platform 或条件编译:

// 方式1:运行时判断
const platform = uni.getSystemInfoSync().platform;
console.log('当前平台:', platform); // ios/android/h5/weixin等

// 方式2:条件编译(编译时生效)
// #ifdef H5
console.log('H5平台特有逻辑');
// #endif
// #ifdef MP-WEIXIN
console.log('微信小程序特有逻辑');
// #endif

区分 iOS 与 Android

通过 uni.getSystemInfoSync() 获取系统信息:

const systemInfo = uni.getSystemInfoSync();
if (systemInfo.platform === 'ios') {
  console.log('iOS设备');
} else if (systemInfo.platform === 'android') {
  console.log('Android设备');
}

区分不同小程序平台

使用条件编译或动态判断:

// 条件编译示例
// #ifdef MP-WEIXIN
console.log('微信小程序');
// #elif MP-ALIPAY
console.log('支付宝小程序');
// #endif

// 动态判断
const { platform } = uni.getSystemInfoSync();
switch (platform) {
  case 'weixin':
    console.log('微信小程序');
    break;
  case 'alipay':
    console.log('支付宝小程序');
    break;
}

区分调试模式

通过 __wxConfig 或自定义全局变量判断:

// 微信小程序调试模式
// #ifdef MP-WEIXIN
const isDebug = __wxConfig.debug;
console.log('调试模式:', isDebug);
// #endif

// 自定义全局变量(需在main.js中设置)
if (window.isDebugMode) {
  console.log('自定义调试模式');
}

代码组织建议

  1. 将环境相关配置抽离为单独文件(如 env.js),通过导出不同配置实现区分。
  2. 复杂逻辑优先使用条件编译,减少运行时判断。
  3. 动态判断平台时,建议封装为工具函数复用。

示例封装:

// utils/platform.js
export function isH5() {
  // #ifdef H5
  return true;
  // #endif
  return false;
}

uniapp 代码区分

标签: 代码uniapp
分享给朋友:

相关文章

vue实现通讯录代码

vue实现通讯录代码

实现思路 Vue实现通讯录的核心在于数据管理和组件交互。通常需要包含联系人列表、搜索功能、分组索引以及添加/编辑功能。 基本结构 创建Vue组件时需包含以下部分: 数据模型:存储联系人数组 字…

uniapp消息推送

uniapp消息推送

uniapp消息推送实现方法 uniapp支持多种消息推送方式,包括uniPush、个推、极光推送等。以下为常见实现方案: uniPush(官方推荐) uniapp官方提供的推送服务,基于DClo…

uniapp和vue有什么区别

uniapp和vue有什么区别

uniapp和vue的区别 1. 定位与用途 Vue:一个渐进式JavaScript框架,专注于构建用户界面,适用于开发单页应用(SPA)或复杂前端项目。 UniApp:基于Vue.js的…

js实现分页功能代码

js实现分页功能代码

分页功能实现方法 客户端分页(前端处理数据) 适用于数据量较小且已全部加载到前端的情况。 // 示例数据 const data = Array.from({length: 100}, (_, i)…

uniapp使用npm

uniapp使用npm

uniapp中使用npm的方法 uniapp支持通过npm安装和管理第三方依赖包,以下是具体操作步骤: 安装Node.js环境 确保本地已安装Node.js(建议使用LTS版本),安装后会自动包含…

uniapp发布到应用商店

uniapp发布到应用商店

发布到苹果App Store 确保开发者账号已注册并加入Apple Developer Program,年费99美元。在Xcode中生成iOS发布证书(.p12)和描述文件(Provisioning…