UNPKG

uni-packing-wgt

Version:

uniapp wgt多环境打包、调试、发布(七牛云)插件

128 lines (85 loc) 4.57 kB
## 介绍 由于官方的HBuilderX编译器打包wgt每次都要手动的操作有些繁琐,也不支持多环境打包,在开发阶段与原生项目交互调试是极其不方便 而`uni-packing-wgt`正好可以解决这些问题 `uni-packing-wgt`是uniapp跨平台多环境资源打包调试发布的脚本工具 主要特性: - 支持同时构建多个环境资源(devbetarelease)包,也包括了wgt包 - 支持上传发布到七牛云平台,其他云平台暂不支持,支持七牛文件CDN缓存刷新 - 在构建资源包时也可以同步内置到原生项目上,方便在开发阶段与原生间的交互调试 - 支持版本号自增,如果在原生项目上内置资源包调试,此时可用上,因为内置资源包调试版本号必须增加才会生效 > 工具仅限于vite cli创建的项目使用,不支持HBuilderX创建的项目 ## 安装使用 安装: ```bash npm i uni-packing-wgt ``` 1在`package.json`中配置uniapp的打包命令,如下: ```json "build:app-plus-dev": "uni build -p app-plus --mode development --outDir=./dist/dev/app", "build:app-plus-beta": "uni build -p app-plus --mode beta --outDir=./dist/beta/app", "build:app-plus-release": "uni build -p app-plus --mode production --outDir=./dist/release/app" ``` 其中`development``beta``production`是vite多环境配置的文件名,vite必须遵守这种命名规范,不然脚本会执行失败 2执行`build-wgt`命令行生成dist资源和uni wgt包,从1.2.0版本可以携带环境参数执行,之前config.json的runDevrunBetarunRelease字段已弃用 - -d:dev环境,不带参数,默认是dev环境 - -b:beta环境 - -r:release环境 ```bazaar build-wgt -d ``` > 如果是在vscode和命令终端上运行命令,记得加上`npx`,即`npx build-wgt`, WebStorm则不用 在初次执行命令时,会在项目根目录创建三个配置文件,可根据需求自由配置: - config.json:常规配置,比如运行环境版本文件拷贝上传等管理 - config-output.json:配置文件拷贝的输入输出目录,用于uni模块在dev环境与原生资源同步调试 - config-release.json:发布环境的配置,比如cdn缓存后台配置同步的管理 > config-output.json和config-release.json文件记得在`.gitignore`配置忽略不用提交,每个开发者的参数是不一样的 **config.json** ```json { "runDev": true, // 指定打包的环境 "runBeta": false, "runRelease": false, "refreshUrl": true, // 是否刷新七牛cdn缓存 "isIncrementVersion": true, // 版本是否自增 "uploadWgtPackage": false, // wgt包是否上传到云平台上,需要结合upload参数使用 "pkgCopyToNativeDir": false, // 是否将资源包同步到原生项目上,需要在config-output.json配置路径 "upload": { // 七牛配置参数 "devAccessKey": "", "devSecretKey": "", "devBucket": "", "devDomainName": "", "devDir": "app" } } ``` 生成环境的七牛参数需要在`config-release.json#upload`配置,如果是外部使用,其他参数无须配置 在打包资源同步到原生项目中调试,需要在`config-output.json`文件中配置原生项目的目标目录Android为例: > 同步到原生项目中调试,需要版本自增才会生效,把`isIncrementVersion`设置`true`即可 ```json { "sourceDir": "./dist/dev/app", "targetDir": "替换成项目路径/app/src/main/assets/apps/替换成uniAppId/www" } ``` - sourceDir: 是uniapp的资源包的相对路径,默认是`./dist/dev/app`; - targetDir: 原生项目的路径,建议放绝对路径 以dev环境为例,控制台输出结果: ``` bash hzwei@HZWeis-Mac-mini uni-mall-staff % build-wgt ======开始生成资源包===== ======资源包生成完成===== ======资源包开始压缩===== { status: 'fulfilled', value: './dist/dev/__UNI__xxxx60.wgt' } ======资源包压缩任务完成===== ======资源包开始复制===== { hash: 'Fop4lZ8NADlAsThMVWIiTjoTh_JT', key: 'app/dev/__UNI__xxxx60.wgt' } 前往刷新url: https://xxxx.com/app/dev/__UNI__xxxx60.wgt ======资源包上传完成===== ``` ## 更新记录 - 1.2.9 - 为了适配鸿蒙,七牛上传给鸿蒙环境设置单独目录,默认是`ohos`目录,可在`config.json#isHarmonySeparateDir`配置`true`, 也可以在`config-release.json#configs#updateOhos`配置`true` - 版本号支持长度限制,默认是3位,可在`config.json#versionLength`配置