uniapp 打包wgt
时间: 2025-05-11 13:19:37 浏览: 31
### 如何使用 UniApp 打包生成 WGT 文件
#### 配置 `manifest.json` 文件
在制作 WGT 包的过程中,需要确保 `manifest.json` 中的应用版本名称和应用版本号必须高于上一版的值[^2]。这是为了支持热更新机制,只有当新版本号大于旧版本号时,WGT 包才能被正确加载。
以下是 `manifest.json` 的基本结构以及需要注意的部分字段:
```json
{
"name": "应用名称",
"versionName": "1.0.1", // 应用版本名称,需递增
"versionCode": 2, // 应用版本号,需递增
"plus": {
"distribute": {
"wgt": true // 是否启用 WGT 包功能
}
}
}
```
#### 使用 uni-packing-wgt 插件进行多环境打包
如果希望实现多环境打包并同步到原生项目中调试,则可以借助 `uni-packing-wgt` 插件完成此操作[^1]。通过该插件,开发者能够更方便地管理不同环境下的资源文件,并将其自动部署至目标目录。
##### 配置参数说明
- **`sourceDir`**: 表示 UniApp 资源包的相对路径,默认为 `./dist/dev/app`。
- **`targetDir`**: 指定原生项目的绝对路径,通常放置于 Android 工程中的特定位置,例如 `替换成项目路径/app/src/main/assets/apps/替换成uniAppId/www`。
配置完成后,在执行构建命令前,应将 `isIncrementVersion` 设置为 `true`,以确保每次同步都会触发版本自增逻辑。
#### 构建与发布流程
1. 修改 `manifest.json` 文件中的版本信息,使其满足递增条件;
2. 安装并配置好 `uni-packing-wgt` 插件;
3. 运行打包脚本,生成适用于当前环境的 WGT 文件;
4. 将生成好的 WGT 文件上传至服务器端供客户端下载更新。
以下是一个简单的 npm 脚本定义方式作为参考:
```javascript
// package.json scripts 字段
"scripts": {
"build:wgt": "node ./node_modules/uni-packing-wgt/index.js"
},
```
运行上述脚本后会按照预设规则完成整个过程。
---
### 示例代码片段
假设我们有一个基础工程结构如下所示:
```bash
project-root/
├── dist/
│ └── dev/
│ └── app/
└── node_modules/
└── uni-packing-wgt/
```
那么可以通过调用插件来指定具体的目标地址:
```javascript
const packingConfig = {
sourceDir: './dist/dev/app',
targetDir: '/absolute/path/to/native/project/app/src/main/assets/apps/com.example.appid/www'
};
packingConfig.isIncrementVersion = true; // 启用版本自增
require('uni-packing-wgt')(packingConfig);
```
---
阅读全文
相关推荐


















