package.json 相关配置

发布于: 6/5/2022 阅读大约需要1分钟

文件字段

字段说明备注字段类型
mainnpm包入口文件
浏览器环境和node环境均可用
string
modulenpm 包的 ESM 规范的入口文件
浏览器环境和 node 环境均可使用
string
browsernpm包的浏览器环境入口文件string | object
exports规定 npm包暴露的文件路径, 定义包的入口, 优先级最高“exports” 中定义的所有路径必须是以 ./ 开头的相对文件 URL。object
  • 如果 npm 包导出的是 ESM 规范的包,使用 module
  • 如果 npm 包只在 web 端使用,并且严禁server 端使用,使用 browser
  • 如果 npm 包只在 server 端使用,使用 main
  • 如果 npm 包在 web 端和 server 端都允许使用,使用 browsermain

文件优先级

如果 .mjs 与 .js 同时存在, 则优先级排序如下
.mjs > .js

exports字段优先于 main, 用于定义包的入口。
支持子路径导出条件导出

  • 子路径导出: 比如: "./*": "./src/*"
  • 条件导出: 比如 "import": "./lib/index.mjs"

如果定义了exports 字段, 那么非 exports 定义外的路径均不可访问

参考链接