【发布时间】:2017-12-23 18:17:38
【问题描述】:
我有几个想要在 npm 上发布的存储库。但这些是浏览器存储库,因此会产生问题:package.json 中的 main 属性似乎用于指定节点(不是浏览器)模块。
来自https://docs.npmjs.com/files/package.json#main
主要
主字段是一个模块 ID,它是程序的主要入口点。也就是说,如果您的包名为 foo,并且用户安装了它,然后执行了 require("foo"),那么您的主模块的导出对象将被返回。
这应该是相对于包文件夹根目录的模块 ID。
对于大多数模块来说,拥有一个主脚本是最有意义的,而其他的通常不多。
那么我应该为浏览器 repos 的 npm 包使用什么?只是省略字段?指向回购包?还有什么?
【问题讨论】:
-
Rollup repo 有这个讨论:github.com/rollup/rollup/wiki/pkg.module。基本上看起来“main”应该指向一个“legacy”包,而“module”(或“jsnext:main”)应该指向一个现代的ES模块(我的dist /中都有)。这是标准吗?它似乎适用于浏览器或节点模块。
标签: browser npm module package.json