uniapp、uniappx、flutter热更新、全量更新

概念

热更新

可以安装后直接自动刷新(设置机制)达到更新目的。

  • UNIAPP:WGT包。仅包含前端资源:页面、JS、CSS、图片和manifest.json。

  • 原生安卓:资源补丁、Dex补丁。

全量更新/更新apk/IOS

需要用户手动安装且需要应用市场审核通过(IOS必需)。

完整的应用程序包(apk/ipa)。包含前端资源、原生渲染引擎、所有原生插件、权限配置等。

渠道包

vite环境与define

  1. 创建环境变量文件 :在项目根目录创建 .env.[mode] 文件,例如 .env.huawei
ini 复制代码
# .env.huawei
VITE_CHANNEL_ID=huawei
  1. 配置 vite.config.ts :在配置文件中,使用 Vite 的 loadEnv 加载对应文件,并通过 define 将变量注入。
javascript 复制代码
import { defineConfig, loadEnv } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'

export default defineConfig(({ mode }) => {
  // 加载 .env.[mode] 文件中的环境变量
  const env = loadEnv(mode, process.cwd(), '')

  return {
    plugins: [uni()],
    define: {
      // 将环境变量注入为全局常量
      __CHANNEL_ID__: JSON.stringify(env.VITE_CHANNEL_ID),
    }
  }
})
  1. 执行构建命令 :通过 --mode 参数指定使用哪个环境变量文件。
arduino 复制代码
# 打包华为渠道包
npm run build:app -- --mode huawei
  1. 获取:
ini 复制代码
// uni.getLaunchOptionsSync()
const launchOptions = uni.getLaunchOptionsSync();
const channelId = launchOptions.channel;
console.log('当前渠道ID:', channelId);

/// plus.runtime
const channelId = plus.runtime.channel;
console.log('当前渠道ID:', channelId);
相关推荐
wordbaby1 小时前
从双端内卷到一库多端:基于 pnpm + Taro 4 + RNOH 鸿蒙的 Monorepo 跨端架构实战
前端·微信小程序·app
程序员老刘1 天前
跨平台开发地图 | 2026年8月
flutter·ai编程·客户端
程序员老刘3 天前
Flutter 3.47 更新要点:Material 正式分家,老项目先别急着更新
flutter·ai编程·客户端
梦想的颜色5 天前
AI 时代小白 VibeCoding 做 APP:UniApp(含 Uni‑X)、Flutter 与 React Native+Expo全维度技术选型对比指南
flutter·react native·app·uniapp·vibecoding·unippx·app产品
用户45989204565167 天前
我用 AI Agent 自动生成了整个 App 的业务地图(开源)
ai编程·客户端
不爱说话郭德纲7 天前
uni-app x iOS 扫码模糊怎么办?AVFoundation 灰尘级别摄像头助你超广角聚焦
前端·uni-app·app
Magic-ZYJ8 天前
不登录、不联网也能用:我是如何设计一款“本地优先”iOS App 的
ios·app·iphone·研发·独立开发者·心情日记
不爱说话郭德纲8 天前
零基础,学做KMP项目,TRAE Work手把手带你月薪.....
前端·后端·app
CappuccinoRose9 天前
前端存储体系学习总结文档
前端·客户端·cookie·ssr·服务端·localstorage·sessionstorage