MorJS:基于小程序 DSL 的多端研发框架

叼着奶瓶去逛gai 2024-01-06 10:28:08 浏览数 (1741)
反馈

MorJS 是一个可以将微信或支付宝小程序转换为不同平台或 Web 应用的研发框架,支持一键编译和扩展。MorJS 提供了易用性、标准化、灵活性、形态转换、开箱即用等优势,以及多端编译、面向全生命周期、插件体系等核心能力。下面是一篇简单的文章介绍 MorJS 的特点和用法。

什么是 MorJS?

MorJS 是饿了么开发的一款基于小程序 DSL 的,可扩展的多端研发框架,使用小程序原生 DSL 构建,使用者只需书写一套(微信或支付宝)小程序,就可以通过 Mor 的转端编译能力,将源码分别编译出可以在不同端( 微信 / 支付宝 / 百度 / 字节 / 钉钉 / 快手 / QQ / 淘宝 /Web…)运行的产物。

MorJS 以多端编译为基础,配以面向全生命周期的插件体系,覆盖从源码到构建产物的每个阶段,支持各类功能扩展和业务需求,无论是基础的页面和组件还是复杂的分包和插件,MorJS 都可以胜任,帮助你高效地开发多端小程序。

Snipaste_2024-01-03_14-43-02

MorJS 有哪些优势?

  • 易用性:MorJS 支持直接以小程序 DSL 书写代码,减轻了旧项目迁移的负担。MorJS 也支持将一套小程序转换为各类小程序平台及 Web 应用, 节省双倍人力。MorJS 还提供了快速接入的方式,仅需引入两个包,增加一个配置文件,即可简单快速接入到现有小程序项目。
  • 标准化:MorJS 内置了脚手架、构建、分析、多端编译等完整研发能力,仅需一个依赖即可上手开发。MorJS 通过编译时+运行时抹平多端差异性,让不同平台的小程序获得一致的用户体验。MorJS 还支持同一个项目的不同的形态,允许小程序、分包、插件不同形态之间的相互转换。
  • 灵活性:MorJS 将完备的生命周期和内部功能插件化,使用插件 (集)以满足功能和垂直域的分层需求。MorJS 除小程序标准文件类型外,还支持 ts、less/scss、jsonc/json5 等多种文件类型。MorJS 还可根据需求选择性接入适配能力,小项目仅需编译功能,中等项目可结合编译和页面注入能力,大型项目推荐使用复杂小程序集成能力。

如何使用 MorJS?

MorJS 的使用非常简单,只需以下几个步骤:

1、安装 MorJS 的核心包和 CLI 工具:

npm install @morfeo/core @morfeo/cli --save-dev

2、在项目根目录下创建一个 mor.config.js 文件,配置 MorJS 的选项,例如:

module.exports = {
    // 指定小程序的源码目录
    src: 'src',
    // 指定小程序的输出目录
    dist: 'dist',
    // 指定小程序的平台类型,可选值有 wechat, alipay, web 等
    platform: 'wechat',
    // 指定小程序的形态类型,可选值有 app, subpackage, plugin 等
    type: 'app',
    // 指定小程序的插件集,可选值有 base, web, complex 等
    plugins: ['base'],
};

3、在 package.json 文件中添加 MorJS 的脚本命令,例如:

{
    "scripts": {
        "dev": "mor dev",
        "build": "mor build",
        "analyze": "mor analyze"
    }
}

4、运行 ​npm run dev​ 或 ​npm run build​ 命令,即可启动 MorJS 的开发或构建模式,生成多端的小程序或 Web 产物。

总结

MorJS 是一个基于小程序 DSL 的多端研发框架,是一个开源的项目,具有易用性、标准化、灵活性等优势,以及多端编译、面向全生命周期、插件体系等核心能力。MorJS 可以帮助开发者快速高效地开发多端小程序,提升用户体验和业务效果。

1698630578111788

如果你对编程知识和相关职业感兴趣,欢迎访问编程狮官网(https://www.w3cschool.cn/)。在编程狮,我们提供广泛的技术教程、文章和资源,帮助你在技术领域不断成长。无论你是刚刚起步还是已经拥有多年经验,我们都有适合你的内容,助你取得成功。

0 人点赞