MorJS 复杂小程序 小程序插件研发模式
由于小程序插件无法独立运行,且对产物目录结构有特殊的要求,如:
dist
├── miniprogram
├── plugin
└── mini.project.json
基于这种情况,我们可以利用 MorJS
的集成功能,来实现插件研发,参考配置如下:
import { defineConfig } from '@morjs/cli'
export default defineConfig([
{
name: 'alipay_plugin',
sourceType: 'alipay',
target: 'alipay',
// 编译类型为 插件
compileType: 'plugin',
compileMode: 'bundle',
// 配置插件宿主
host: {
git: {
url: 'git@github.com:abc/king-home-alipay.git',
branch: 'master'
},
scripts: {
before: ['npm i', 'npm run compile:ali']
},
dist: '_ali'
},
outputPath: 'dist',
// 插件源码目录
srcPath: 'plugin',
autoClean: true
}
])
通过 MorJS
命令:mor compile --name alipay_plugin --compose
即可集成上述配置中的小程序插件及其宿主。
运行结果示例:
[mor] ⚑ 当前 MorJS 为开源版本: @morjs/cli@1.0.0
[mor] ℹ 发现配置文件: mor.config.ts
[mor] ✔ 配置文件加载成功: mor.config.ts
[mor] ℹ 小程序集成功能已开启
[mor] ℹ 即将开始集成以下模块(最大并发数: 4):
[mor] ℹ ┌──────────────────────────────────────────────┬────────────────┬──────┬──────┐
│ 模块 (共 1 个, 集成终态: 已集成) │ 版本 │ 类型 │ 模式 │
├──────────────────────────────────────────────┼────────────────┼──────┼──────┤
│ alsc-mini-app_king-home-alipay │ master │ 宿主 │ 组合 │
└──────────────────────────────────────────────┴────────────────┴──────┴──────┘
[mor] ℹ 准备配置中, 即将开始编译 [[EMOJI:%F0%9F%91%87]]
配置名称: alipay_plugin
编译目标: 支付宝小程序
编译环境: development
编译类型: 插件
编译模式: bundle
源码类型: alipay
源码目录: plugin
编译产物: dist/plugin
输出目录: dist
[mor] ℹ 已开启缓存, 可通过 --no-cache 关闭
[mor] ℹ 启动文件监听模式
[mor] ℹ 开始编译 ...
[mor] ℹ 依赖分析中 ...
[mor] ℹ 依赖分析完成: 耗时: 12.790667 ms
[mor] ⠼ 正在编译, 进度: 99.00%
[mor] ℹ 模块集成结果:
[mor] ℹ ┌──────────────────────────────────────────────┬────────────────┬──────┬──────┬──────┐
│ 模块 (共 1 个, 集成终态: 已集成) │ 版本 │ 类型 │ 模式 │ 结果 │
├──────────────────────────────────────────────┼────────────────┼──────┼──────┼──────┤
│ alsc-mini-app_king-home-alipay │ master │ 宿主 │ 组合 │ ✔ │
└──────────────────────────────────────────────┴────────────────┴──────┴──────┴──────┘
[mor] ✔ 集成产物目录: dist/miniprogram
[mor] ✔ 编译完成, 耗时: 1544.04675 ms
用小程序 IDE 打开 dist 目录即可预览小程序插件。