MorJS 复杂小程序 SDK 研发模式

2024-01-18 17:48 更新
业务可将通用页面封装置某个 NPM 包中作为通用功能,如统一宿主的 Solution 配置,参见下方示例:
import { defineConfig } from '@morjs/cli'
export default defineConfig([
  {
    name: 'tt',
    target: 'bytedance',
    // 配置需要的 SDK
    modules: [
      {
        // 指定 npm 名称和版本
        npm: {
          name: 'mor-runtime-solution-standard-eleme',
          version: '1.0.4'
        },
        // 通过编译的模式参与集成
        mode: 'compile',
        // 作为主包模块进行集成
        type: 'main',
        // mor-runtime-solution-standard-eleme 包中的产物地址
        dist: './src',
        // 通过配置注入的页面内容:涉及 webview 和登录的页面和组件,由当前 solution 统一收口维护
        // 集成编译后,配置中的页面将会合并至 app.json 的 pages 字段中
        config: {
          pages: {
            'pages/container/index': 'pages/container/index',
            'pages/container-transnavbar/index':
              'pages/container-transnavbar/index',
            'pages/auth/index': 'pages/auth/index',
            'pages/havana/index': 'pages/havana/index'
          }
        }
      }
    ]
  }
])

通过 MorJS 命令:mor compile --compose 即可集成上述配置中的页面。

运行结果示例:

[mor] ⚑ 当前 MorJS 为开源版本: @morjs/cli@1.0.0
[mor] ℹ 发现配置文件: mor.config.ts
[mor] ✔ 配置文件加载成功: mor.config.ts
[mor] ℹ 小程序集成功能已开启
[mor] ℹ 即将开始集成以下模块(最大并发数: 4):
[mor] ℹ ┌──────────────────────────────────────────────┬────────────────┬──────┬──────┐
        │ 模块 (共 2 个, 集成终态: 已集成)                 │ 版本           │ 类型  │ 模式  │
        ├──────────────────────────────────────────────┼────────────────┼──────┼──────┤
        │ miniprogram_host                             │ *              │ 宿主  │ 编译 │
        ├──────────────────────────────────────────────┼────────────────┼──────┼──────┤
        │ ali_mor-runtime-solution-standard-eleme_1_0… │ 1.0.4........  │ 主包  │ 编译 │
        └──────────────────────────────────────────────┴────────────────┴──────┴──────┘
[mor] ℹ 准备配置中, 即将开始编译 👇
        配置名称: tt
        编译目标: 字节小程序
        编译环境: development
        编译类型: 小程序
        编译模式: bundle
        源码类型: alipay
        源码目录: src
        输出目录: dist/bytedance
[mor] ℹ 已开启缓存, 可通过 --no-cache 关闭
[mor] ℹ 已开启 node_modules 组件处理
[mor] ℹ 开始编译 ...
[mor] ℹ 依赖分析中 ...
[mor] ℹ 依赖分析完成: 耗时: 1639.405709 ms
[mor] ℹ 模块集成结果:
[mor] ℹ ┌──────────────────────────────────────────────┬────────────────┬──────┬──────┬──────┐
        │ 模块 (共 2 个, 集成终态: 已集成)                 │ 版本           │ 类型  │ 模式  │ 结果 │
        ├──────────────────────────────────────────────┼────────────────┼──────┼──────┼──────┤
        │ miniprogram_host                             │ *              │ 宿主  │ 编译  │  ✔   │
        ├──────────────────────────────────────────────┼────────────────┼──────┼──────┼──────┤
        │ ali_mor-runtime-solution-standard-eleme_1_0… │ 1.0.4........  │ 主包  │ 编译 │  ✔   │
        └──────────────────────────────────────────────┴────────────────┴──────┴──────┴──────┘
[mor] ✔ 集成产物目录: dist/bytedance
[mor] ✔ 编译完成, 耗时: 14175.584625 ms


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号