“module” package.json 字段的用途是什么?
2022-08-30 02:20:01
我见过一些npm包(例如vue)在他们的package.json中有一个字段。module
但是模块
不包含在 package.json 文档中 - 这是某种约定吗?在某个地方有这方面的文档吗?
我见过一些npm包(例如vue)在他们的package.json中有一个字段。module
但是模块
不包含在 package.json 文档中 - 这是某种约定吗?在某个地方有这方面的文档吗?
该字段未由 Node 正式定义.js并且未计划支持。相反,Node.js社区决定采用他们认为功能更强大的软件包出口。module
出于实际原因,JavaScript捆绑器将继续支持该领域。esbuild 文档解释了何时使用以及相关字段和 .module
module
main
browser
这是官方的npm属性还是某种约定?
"module"
这是一个建议,但由于实际使用情况,可能会得到支持。
在某个地方有这方面的文档吗?
这是干什么用的?
ES6 模块在节点中的互操作性。其他讨论可以在这里和这里找到。这是里奇·哈里斯(Rich Harris)的一篇博客文章,详细讨论了这个问题。
这由捆绑工具用于 ESM(ECMAScript 模块)检测。汇总文档说得非常好:
如果你的文件也有一个字段,ES6感知工具(如Rollup和webpack 2)将直接导入ES6模块版本。
package.json
module
这篇关于Rollup 1.0的文章以另一种方式说:
该字段确保使用的 Node 用户将获得 UMD 版本。该字段不是官方的 npm 功能,而是捆绑程序之间的常见约定,用于指定如何导入我们库的 ESM 版本。
main
require
module
进一步的讨论是在Rollup Github Wiki和webpack Docs上。pkg.module