uniapp如何打wgt包

在uniapp开发中,如何正确生成wgt热更新包?具体步骤和需要注意的配置项有哪些?打包后的wgt文件应该放在哪个目录下?

2 回复

在HBuilderX中,点击“发行”->“制作wgt包”,选择项目即可生成wgt文件。


在 UniApp 中,打包生成 .wgt 文件(WGT 包)用于热更新或离线资源分发。以下是详细步骤和注意事项:

打包步骤

  1. 打开 HBuilderX:确保使用最新版本的 HBuilderX 开发工具。
  2. 配置项目
    • manifest.json 中检查应用版本号(用于更新校验)。
    • 确认项目无编译错误。
  3. 生成 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 包,实现应用资源的热更新。

回到顶部