npm 和 bower的區別

孤舟蓑翁發表於2016-04-19

npm和bower在功能上有一定的重合,但不是互斥關係,可以在專案中同時運用。區別在於npm在設計之初就採用了的是巢狀的依賴關係樹。一個普通的前端包的依賴樹比較長,npm 會將開發環境一起下載下來, 同時和其它安裝包不能共享依賴程式碼。導致檔案非常多,這種方式顯然對前端不友好,不適合前端程式碼部署。bower則採用扁平的依賴關係管理方式,bower 只會下載編譯後的前度模組,使用上更符合前端開發的使用習慣。

 

npm屬於node模組的管理器。而bower是前端模組管理,npm主要運用於node.js專案的內部依賴包管理,安裝的模組位於專案根目錄下的node_modules資料夾內。而bower大部分情況下用於前端開發,對於CSS/JS/模板等內容進行依賴管理,依賴的下載目錄結構可以自定義。

 

實際專案中,我們可以在後端可以採用npm管理依賴包, 在前端採用bower管理依賴包的組合使用模式。讓前後端公用開發語言的同時,不同端的開發工程師能夠更好地利用手上的工具提升開發效率。

 

相關文章