Mor(读作/mɔːr/,类似于more)是饿了么开发的基于小程序DSL的可扩展多终端开发框架。 它是使用小程序的原生DSL构建的。 用户只需要编写一组指令(陌陌或支付宝)小程序,就可以利用Mor的端口编译能力,将源代码单独编译并在不同端口上运行(陌陌/支付宝/百度/字节/钉钉/快手) /QQ/天猫/Web...)的产品。
MorJS基于多端编译,配备全生命周期的插件体系,覆盖从源码到产品创建的每个阶段,支持各种功能扩展和业务需求,无论是基本的页面和组件还是复杂的通用软件包和插件,MorJS能够胜任帮助您高效开发多终端小程序。
核心竞争力
Mor是一个基于小程序DSL(支付宝或陌陌)的框架。 其易用性、标准化和灵活性使开发人员能够更好地专注于业务,从而使开发成本、紧急招聘、管理和测试成本急剧增加,提高开发人员的工作效率。
例子
以下为饿了么零食订购渠道在陌陌、支付宝、抖音小程序、H5的表现。
快速开始
环境计划
MorJS项目是基于node的。 请确保您有较新的节点环境(>=14)。 推荐使用node版本管理工具nvm来管理node(Windows下使用nvm-windows)。 这样可以轻松切换节点版本并全局安装。 不再需要使用 sudo。
# mac 或 linux 下安装 nvm
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
$ nvm -v
0.39.1
# 安装 node
$ nvm install 14
$ nvm use 14
$ node -v
v14.21.3
创建项目
Mor 提供了 create-mor 和 morcli 工具来创建新项目,只需选择其中之一即可。
使用 create-mor 创建项目
确保你已经安装了正确版本的Node.js,选择项目目录
$ mkdir myapp && cd myapp # 创建项目目录
在目录终端中执行以下任意命令:
$ npm init mor # npm 创建项目
$ yarn create mor # yarn 创建项目
$ pnpm create mor # pnpm 创建项目
此命令将安装并执行 create-mor,Mor 的官方项目脚手架工具。
使用morcli创建项目
确保您已经安装了正确版本的 Node.js,创建项目目录,并全局安装 morcli 工具
$ mkdir myapp && cd myapp # 创建项目目录
$ npm i @morjs/cli -g # 全局安装 mor cli
$ mor -v # 查看全局 mor 版本
至此,你已经安装了morcli工具,接下来就可以通过morinit命令创建项目了:
$ mor init
初始化项目
创建工程后,您将看到如下命令号交互界面。 选择对应的项目类型,根据提示完成初始化操作:
✔ 请选择工程类型 › 小程序
✔ 请选择源码类型 › 微信小程序 DSL
✔ 是否使用 Typescript … 否 / 是
✔ 请选择 CSS 预处理器 › less
✔ 请输入 小程序 的名称 … myapp
✔ 请输入 小程序 的描述 … my first app
✔ 用户名 … yourUserName
✔ 邮箱 … your@gmail.com
✔ 请输入 Git 仓库地址 … https://github.com/yourUserName/myapp
✔ 请选择 npm 客户端 › npm / pnpm / yarn
…
[mor] ✔ 安装 node_modules 完成!
[mor] ✔ 小程序项目初始化完成 ^_^ 在终端运行命令
npm run dev
即可启动项目。
项目初始化后,Mor会默认开始安装项目所需的依赖。 一般来说,依赖安装会手动完成,但在某些情况下,安装可能会失败。 这时你可以在项目目录下使用安装命令自行安装:
$ npm i
编译并运行
使用MorJS的编译命令将MorJS代码编译成不同端的代码,然后在相应的开发工具中检查效果。 MorJS的初始编译命令配置了两种模式:dev和build:
执行npmrundev命令进行浏览和调试:
[mor] ℹ 发现配置文件: mor.config.ts
[mor] ✔ 配置文件加载成功: mor.config.ts
[mor] ℹ 准备配置中, 即将开始编译
配置名称: wechat-miniprogram
编译目标: 微信小程序
编译环境: development
编译类型: 小程序
编译模式: bundle
源码类型: wechat
源码目录: src
输出目录: dist/wechat
[mor] ℹ 已开启缓存, 可通过 --no-cache 关闭
[mor] ℹ 启动文件监听模式
[mor] ℹ 开始编译 ...
[mor] ℹ 依赖分析中 ...
[mor] ℹ 依赖分析完成: 耗时: 25.125412 ms
[mor] ✔ 编译完成, 耗时: 1451.202285 ms
[mor] ℹ 准备配置中, 即将开始编译
配置名称: alipay-miniprogram
编译目标: 支付宝小程序
编译环境: development
编译类型: 小程序
编译模式: bundle
源码类型: wechat
源码目录: src
输出目录: dist/alipay
[mor] ℹ 已开启缓存, 可通过 --no-cache 关闭
[mor] ℹ 启动文件监听模式
[mor] ℹ 开始编译 ...
[mor] ℹ 依赖分析中 ...
[mor] ℹ 依赖分析完成: 耗时: 24.112123 ms
[mor] ✔ 编译完成, 耗时: 441.548922 ms
dist目录下已经创建了多终端产品。 可以用对应平台的IDE打开进行开发预览:
何时不使用 MorJS
可以看到网站开发百度小程序网站开发百度小程序,MorJS是一个基于小程序DSL(支付宝、微信)的框架。 如果你,
MorJS 可能不适合你。
门户网站
开源合约:MIT
开源地址:
项目征集: