taro-plugin-mp-ci
taro 小程序插件,支持动态生成不同的小程序 bundle 包,并上传预览。
背景
由于业务场景特殊,一个 taro 项目支持 100 个不同的小程序,不同的小程序本身拥有不同的 appid,serviceProviderTicket 等应用配置字段,所以需要在构建中完成配置动态化处理,输出多个不同小程序的 bundle 包,且可以自动上传并预览,或设置成体验版。
开始
安装
yarn ad taro-plugin-mp-ci
配置
项目根目录下新增配置文件:mp.config.json
[
{
"id": 1,
// appid,更新到project.config.json
"appId": "",
// 票据,更新到app.json文件
"serviceProviderTicket": "",
// taro config/index.js的配置
"config": {
// 全局变量,动态添加到webpackChain.definePlugin
"defineConstants": {
"MASTER_NAME": "\"测试1\""
}
},
"ci": {
// 微信小程序上传参数
"weapp": {
"appId": "",
"privateKeyPath": ""
}
}
},
{
"id": 2,
"appId": "",
"serviceProviderTicket": "",
"config": {
"defineConstants": {
"MASTER_NAME": "\"测试2\""
}
},
"ci": {
"weapp": {
"appId": "",
"privateKeyPath": ""
}
}
}
]
package.json 文件添加命令
{
"scripts": {
// 构建配置id=2的信息,并上传为开发版预览
"build:weapp:preview": "cross-env MP=2 NODE_ENV=development taro build --type weapp --preview"
}
}
声明
本项目参考部分 taro-plugin-mini-ci 和 taro-custom-project-config-plugin 思路