2017-04-17 41 views
2

當把一些JavaScript發佈爲npm作爲庫時,我應該將pacakge.json中的「main」設置爲「dist/index.js」還是我的「src/index」。 JS「?當我發佈npm包時,我應該使用src的dist

假設該庫是使用webpack構建的,並且可以與webpack中的項目一起使用。

兩個選項之間會有什麼區別。 webpack能夠在這兩種選項中做樹震動嗎?

謝謝!

回答

4

如果您的庫設計爲在瀏覽器中使用,那麼務必記住並非每個人都使用模塊捆綁器。

這是很好的做法,設置main屬性捆綁文件(在你的情況dist/index.js),並確保你有一個prepublish腳本在發佈之前執行的構建步驟。

爲了支持捆綁銷售商(如Rollup,you can use the module property)的抖動,並確保它指向使用ES2015導入的模塊。

例如:

{ 
    "main": "dist/index.js", 
    "module": "src/index.js" 
} 

彙總會尊重這一點,但得到的WebPack到樹搖動你的代碼是一個little more involved

+0

感謝您回答這個問題。我結束了使用dist/index.js。原因是通常項目會從babel transpiling中排除node_modules,所以最好發佈dist版本。唯一的缺點是當你'npm鏈接'你的依賴關係並在本地開發時,你需要記住啓動構建過程來構建dist版本。有時它往往被遺忘,時間可能會被浪費。 – ryang

相關問題