当将一些javascript作为库发布到npm时,我应该设置" main"在pacakge.json中," dist / index.js"或者我的" src / index.js"?
假设库是使用webpack构建的,并且可以与webpack中的项目一起使用。
两个选项之间的区别是什么。 webpack能否在这两个选项中进行树摇动?
谢谢!
答案 0 :(得分:4)
如果您的图书馆旨在在浏览器中使用,那么记住并非所有人都使用模块捆绑包这一点非常重要。
将main
属性设置为捆绑文件(在您的情况下为dist/index.js
)并确保您拥有执行构建的prepublish
脚本,这是一种很好的做法。在发布之前一步。
使用汇总工具you can use the module
property支持树形抖动,并确保它指向使用ES2015导入的模块。
例如:
{
"main": "dist/index.js",
"module": "src/index.js"
}
Rollup会尊重这一点,但让Webpack改变你的代码是little more involved。