在 UniApp 中,打包生成 .wgt 文件(WGT 包)用于热更新或离线资源分发。以下是详细步骤和注意事项:
打包步骤
- 打开 HBuilderX:确保使用最新版本的 HBuilderX 开发工具。
- 配置项目:
- 在 manifest.json中检查应用版本号(用于更新校验)。
- 确认项目无编译错误。
 
- 生成 WGT 包:
- 顶部菜单选择 发行 → 原生 App-制作移动 App 资源升级包。
- 工具会自动编译项目并生成 .wgt文件,输出路径在项目的unpackage/release目录下。
 
关键代码(用于热更新)
在 App 中检测并安装 WGT 包(需集成原生插件):
// 检查更新
plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
  const version = widgetInfo.version; // 当前版本
  // 从服务器获取最新版本信息(示例)
  uni.request({
    url: 'https://your-server.com/version.json',
    success: (res) => {
      if (res.data.version > version) {
        this.downloadWgt(res.data.wgtUrl); // 下载 WGT 包
      }
    }
  });
});
// 下载并安装
downloadWgt(wgtUrl) {
  const downloadTask = uni.downloadFile({
    url: wgtUrl,
    success: (downloadResult) => {
      if (downloadResult.statusCode === 200) {
        plus.runtime.install(
          downloadResult.tempFilePath,
          { force: true },
          () => {
            uni.showToast({ title: '更新完成,重启生效' });
            plus.runtime.restart();
          },
          (error) => {
            uni.showToast({ title: '安装失败', icon: 'error' });
          }
        );
      }
    }
  });
}
注意事项
- 版本管理:确保 manifest.json中的版本号高于当前版本,否则无法更新。
- 资源限制:WGT 包仅包含前端资源(JS/HTML/CSS),不支持原生插件更新。
- 安全机制:部分平台(如 iOS)对热更新有严格限制,需遵守相关政策。
- 测试建议:在真机调试模式下验证 WGT 包安装流程。
通过以上步骤,可快速生成并部署 WGT 包,实现应用资源的热更新。