MorJS 的加载规范
MorJS 是通过 package.json
中指定的入口字段来做多端逻辑区分的,详细如下:
重要: main
字段遵从 NPM
的 package.json
本身对于该字段的定义,参见 文档。其他多端入口字段为目录配置字段。
main
: 默认加载入口, 用于存放CommonJS
产物- 未指定多端入口的情况下,所有端都会读取该入口
- 部分多端的情况下,未明确以下方字段指定入口的端,均会读取该缺省入口
module
: 默认加载入口,用于存放ESModule
产物, 作用和main
类似- 仅当配置为
ESNext
的端默认情况下会优先使用module
- 仅当配置为
alipay
: 支付宝小程序加载入口miniprogram
: 微信小程序加载入口,该字段和微信/QQ/企业微信小程序官方一致wechat
: 微信小程序加载入口- 优先级比
miniprogram
高
- 优先级比
qq
: QQ 小程序加载入口- 优先级比
miniprogram
高
- 优先级比
bytedance
: 字节跳动小程序加载入口baidu
: 百度小程序加载入口dingding
: 钉钉小程序加载入口taobao
: 淘宝小程序加载入口kuaishou
: 快手小程序加载入口miniforweb
: Web 应用专用小程序产物加载入口
Q:为什么会有 miniprogram
和 wechat
两个字段作为微信小程序的加载入口?我要如何选择?
A:一般情况下我们建议直接用 miniprogram
字段即可,除非是库是希望在默认引用的情况下还提供文件路径的依赖加载且还要支持微信小程序的 NPM构建
。在这种情况下,就需要同时用到 miniprogram
和 wechat
两个字段了。具体参考下面的多端适配示例。