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 两个字段了。具体参考下面的多端适配示例。