taro小程序马甲包插件
插件名
@maloulab/taro-plugins-socksuppet-ci
@maloulab/taro-plugins-socksuppet-ci
安装
yarn add @maloulab/taro-plugins-socksuppet-ci
or
npm i @maloulab/taro-plugins-socksuppet-ci
插件描述
taro官方是提供了小程序集成插件的@tarojs/plugin-mini-ci ,且支持配置。
例如
const CIPluginOpt = {
weapp: {
appid: '微信小程序appid',
privateKeyPath: '密钥文件相对项目根目录的相对路径,例如 key/private.appid.key',
},
}
当你需要同时发布多个微信小程序时(马甲包),就需要修改这里,重新构建发布。
解决
所以为了解决该问题,在该插件基础上,增加了马甲包功能,只需要在原先的配置基础上,将weapp对象改为数组即可,(ps: 配置对象也可,只会构建一次)。
weapp: [{
appid: '微信小程序appid',
privateKeyPath: '密钥文件相对项目根目录的相对路径,例如 key/private.appid.key',
}],
plugins: [['@tarojs/plugin-mini-ci', CIPluginFn]],
配置修改为
plugins: [['@tarojs/plugin-mini-ci', { CIPluginFn }]],
使用
plugins: [ ["@tarojs/plugin-mini-ci", CIPluginFn]],
修改为
plugins: [ ["@maloulab/taro-plugins-socksuppet-ci", {
CIPluginFn,
// 非必传
configMap: {
},
// 非必传
// 自定义打包命令 默认自动获取(taro + 命令 + 参数)例:taro upload --type weapp
command: ''
}]],
CIPluginFn
官方插件配置 @tarojs/plugin-mini-ci
配置示例:
由于插件会修改 json 配置中的 appid,以达到构建的目的
需要加入 appid 参数
appid: 必填
appName: 非必填(打包显示)
const CIPluginOpt = {
weapp: [
{
// 必填
appid: "微信小程序appid1",
privateKeyPath:
"密钥文件相对项目根目录的相对路径,例如 key/private.appid.key",
},
{
// 必填
appid: "微信小程序appid2",
privateKeyPath:
"密钥文件相对项目根目录的相对路径,例如 key/private.appid.key",
},
],
// 同weapp,如需多个构建,改为数组
tt: {
appid: "",
email: "字节小程序邮箱",
password: "字节小程序密码",
},
// 同weapp,如需多个构建,改为数组
alipay: {
appid: "支付宝小程序appid",
toolId: "工具id",
privateKeyPath:
"密钥文件相对项目根目录的相对路径,例如 key/pkcs8-private-pem",
},
// 同weapp,如需多个构建,改为数组
dd: {
appid: "钉钉小程序appid,即钉钉开放平台后台应用管理的 MiniAppId 选项",
token: "令牌,从钉钉后台获取",
},
// 同weapp,如需多个构建,改为数组
swan: {
appid: "",
token: "鉴权需要的token令牌",
},
// 版本号
version: "1.0.0",
// 版本发布描述
desc: "版本描述",
};
如需打包多个,将 weapp 改为数组配置多个即可!!!
// 默认configMap
const configMap = {
weapp: "project.config.json",
tt: "project.tt.json",
alipay: "mini.project.json",
qq: "project.config.json",
dd: "project.dd.json",
swan: "project.swan.json",
lark: "project.lark.json",
};
由于插件会自动修改 project.config.json 中的 appid,
实现自动化构建多个小程序,每个小程序文件名不一致
可自定义
注意
因为会修改 project.config.json 或其他 json 中的 appid
appid 会替换为配置中的最后一个
最后
因没有其他小程序需求,仅测试微信小程序批量打包!!!
具体配置可查看 @maloulab/taro-plugins-socksuppet-ci