2
當把一些JavaScript發佈爲npm作爲庫時,我應該將pacakge.json中的「main」設置爲「dist/index.js」還是我的「src/index」。 JS「?當我發佈npm包時,我應該使用src的dist
假設該庫是使用webpack構建的,並且可以與webpack中的項目一起使用。
兩個選項之間會有什麼區別。 webpack能夠在這兩種選項中做樹震動嗎?
謝謝!
當把一些JavaScript發佈爲npm作爲庫時,我應該將pacakge.json中的「main」設置爲「dist/index.js」還是我的「src/index」。 JS「?當我發佈npm包時,我應該使用src的dist
假設該庫是使用webpack構建的,並且可以與webpack中的項目一起使用。
兩個選項之間會有什麼區別。 webpack能夠在這兩種選項中做樹震動嗎?
謝謝!
如果您的庫設計爲在瀏覽器中使用,那麼務必記住並非每個人都使用模塊捆綁器。
這是很好的做法,設置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。
感謝您回答這個問題。我結束了使用dist/index.js。原因是通常項目會從babel transpiling中排除node_modules,所以最好發佈dist版本。唯一的缺點是當你'npm鏈接'你的依賴關係並在本地開發時,你需要記住啓動構建過程來構建dist版本。有時它往往被遺忘,時間可能會被浪費。 – ryang