什么是“module”package.json 字段?

IT技术 javascript npm package.json
2021-03-12 14:06:56

我见过一些 npm 包(例如 vuemodule在它们的 package.json 中有一个字段。

module不包括的package.json文件中-这是某种形式的约定?某处有这方面的文档吗?

2个回答

"module"官方的 npm 属性还是某种约定?

这是一个提案,但由于实际使用可能会得到支持。

某处有这方面的文档吗?

还有就是,事实上,它可以发现在这里,后来删除

这是为了什么?

Node.js 中的 ES6 module互操作性 可以在此处此处找到其他讨论这是Rich Harris一篇博客文章,详细介绍了它。

这从未得到实施。相反,他们有type可以设置为字段"module"
2021-05-12 14:06:56
WebPack 是否有关于此的文档,或者只是 Rollup?
2021-05-14 14:06:56
看起来他们在这里添加了它:webpack.js.org/guides/author-libraries/#final-steps
2021-05-19 14:06:56

这被捆绑工具用于 ESM(ECMAScript module)检测。汇总的文件说,这非常好:

如果你的package.json文件也有一个module字段,像Rollupwebpack 2这样的 ES6-aware 工具直接导入 ES6 module版本

这篇关于 Rollup 1.0 的文章说的是另一种方式:

main字段确保使用的 Node 用户require将获得 UMD 版本。module字段不是官方的 npm 功能,而是打包程序之间的通用约定,用于指定如何导入我们库的 ESM 版本。

进一步讨论pkg.moduleRollup Github Wikiwebpack Docs 上

应该main是库的 UMD 版本的缩小版本吗?或者它应该是一个未缩小的?怎么样module我猜这个module不应该被缩小,因为用户将使用它的捆绑器(Webpack、Parcel 等...)并且通过使用带有 ES6 module导出的源文件,捆绑器可以利用摇树,对吗?
2021-04-30 14:06:56