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);
相关推荐
mmsx20 小时前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
程序员老刘20 小时前
Flutter版本选择指南:9月大限落地,3.47一个月连发四补丁 | 2026年9月
flutter·ai编程·客户端
TodoCoder20 小时前
为了治"提笔忘字",我做了个软件
后端·客户端
mmsx20 小时前
Android GIS系列 栅格怎么存、格网怎么归算:两个容易混淆的 GIS 链路
android·性能优化·app
mmsx20 小时前
Android GIS系列 串口、蓝牙、USB、网络:一套统一抽象怎么扛住四种通道
android·app·产品
mmsx6 天前
Android GIS系列 内存加锁、SQLite 开事务:矢量数据集双层并发设计
android·性能优化·app
Kingexpand_com9 天前
企业车队运营痛点解析:传统人工模式如何实现数字化升级
小程序·app·软件开发·app定制开发·打车用车app·车队
不要喷香水9 天前
01-网络层与鉴权
app·档案·pda
不要喷香水10 天前
00-总览与架构
kotlin·app·档案管理
mmsx10 天前
Android 地图卡成 PPT 之后:双渲染管线与空间网格渐进加载怎么救
android·app