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);
相关推荐
程序员老刘3 天前
跨平台开发地图 | 2026年10月
flutter·ai编程·客户端
河北清兮网络科技3 天前
广告联盟 APP 介绍:搭建属于自己的流量变现平台
小程序·app·产品经理·短剧app·广告联盟
duanze3 天前
从零开始Android商业项目Vibe coding完全指南(十一)
app·vibecoding
健了个平_243 天前
【iOS】关于传统竖屏 UIKit 项目如何简单适配 iPhone Duo 的第一版
ios·app·swift
Autumn_ing4 天前
AI生成应用能做到哪一步?在线问诊APP从挂号到支付的完整案例
小程序·app·健康医疗·ai应用·问诊app·ai生成应用·墨刀ai
Mr_Mao4 天前
8 月我曾说过要让 DSH 像 Codex 一样好用,现在怎么样了?
app·deepseek
河北清兮网络科技4 天前
在河北开发直播 APP,怎么挑选靠谱的软件公司?
小程序·app·短剧app·广告联盟
萌新杰少8 天前
Kuikly股票查看软件开发体验——SaiRen
android·kotlin·客户端
程序员老刘10 天前
Flet 1.0 思路很好,可惜来晚了
flutter·ai编程·客户端
巨擎网络11 天前
为什么打开 App,消息才一股脑涌进来?
网络协议·app