我见过一些 npm 包(例如 vue)module在它们的 package.json 中有一个字段。
但module不包括的package.json文件中-这是某种形式的约定?某处有这方面的文档吗?
我见过一些 npm 包(例如 vue)module在它们的 package.json 中有一个字段。
但module不包括的package.json文件中-这是某种形式的约定?某处有这方面的文档吗?
这被捆绑工具用于 ESM(ECMAScript module)检测。该汇总的文件说,这非常好:
如果你的
package.json文件也有一个module字段,像Rollup和webpack 2这样的 ES6-aware 工具会直接导入 ES6 module版本。
这篇关于 Rollup 1.0 的文章说的是另一种方式:
该
main字段确保使用的 Node 用户require将获得 UMD 版本。该module字段不是官方的 npm 功能,而是打包程序之间的通用约定,用于指定如何导入我们库的 ESM 版本。
进一步讨论pkg.module在Rollup Github Wiki和webpack Docs 上。