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);
相关推荐
茶底世界之下8 小时前
阴天海边的蓝船:用 Awaking 把灰蓝调成清亮主角
ios·app·产品
小年糕是糕手9 小时前
【AI】用 AI 做自己的个人网站(上):选模板、写提示词,做出第一版
人工智能·app·网页开发·codex·index·styles·0基础教程
茶底世界之下1 天前
雨后街口的斑马线:用 Awaking 把颜色让给光与步伐
ios·app·产品
茶底世界之下2 天前
晨雾河岸的旧书摊:用 Awaking 给木色一点暖光
ios·app·产品
茶底世界之下3 天前
山间站台不必转暖:用 Awaking 留住冷光与红箱
ios·app·产品
茶底世界之下4 天前
阴天花摊不必变暖:用 Awaking 留住花色与湿街
ios·app·产品
茶底世界之下5 天前
斜光下的旧自行车:用 Awaking 留一版复古胶片色
ios·app·产品
程序员老刘10 天前
从短剧App的bug看响应式编程在AI时代的优势
flutter·ai编程·客户端
方白羽10 天前
Android 双开环境底层剖析与风控检测落地
android·安全·app
Bigger12 天前
开源了一个"先预览、能反悔"的文件整理工具,聊聊背后的工程细节
rust·开源·app