2013-03-24 99 views
23

客戶端Javascript有兩個包管理器,但它們如何比較?有人能解釋哪一個擅長什麼?果醬vs鮑爾,有什麼區別?

+1

有很多不止兩個。 https://github.com/component/component和npm來命名一些,也被積極用於客戶端軟件包。簡而言之,它仍然是一個懸而未決的空間。 – generalhenry 2013-03-24 19:48:14

+0

無論好壞,[組件](http://component.io/)的網站似乎缺乏信息。 – 2013-03-24 20:30:19

+0

他做了一個很好的博客文章,解釋它背後的想法:http://tjholowaychuk.com/post/27984551477/components – generalhenry 2013-03-24 20:33:09

回答

20

正如在評論中提到別人已經有超越只是果醬和鮑爾這個空間的幾個備選方案。

  • 組件
  • 安德
  • 瓦羅

雙方的目標是提供一種方式來打包你的資產並管理它們之間的依賴客戶端。 Bower和Jam分別於2012年9月和5月分別亮相。

兩者都可以通過node/npm獲得,如果您只想解決諸如骨幹,下劃線,jQuery等公共庫之間的依賴關係,那麼任一解決方案都可以工作,並允許您使用一些基本選項來控制版本,把它放在你的項目中,並檢查更新。

至於有什麼不同 - Bower比Jam更低一點,這使它更適用於更廣泛的觀衆。您可以爲JavaScript庫創建更多的組件。 Jam更專注於AMD風格的JavaScript庫。使用Jam,您可以在npm組件中使用的package.json文件中指定您的依賴項,而Bower已按照慣例選擇了component.json。 Bower的侷限性在於它只提取你的依賴關係,如果你想使用Require.js或Jam選擇的其他解決方案,你仍然需要一個構建系統,這樣你可以免費獲得。鮑爾得到Twitter和其他一些項目的支持(Ender,Yeoman)。

道歉,如果這是不正確的,但Jam的一個額外的限制是它不允許你創建自己的組件分發到私人存儲庫。這是Bower允許您在.bowerrc中配置爲端點的事情,但我仍然在Jam中找到了一種方法。也許我還沒有找到足夠好的,但似乎至少有一個私人擁堵叉。

其他一些很好的讀取:

+3

對於任何人在這個問題上磕磕絆絆,重要的是要注意,涼亭正從component.json移到涼亭。 json的配置文件。 https://groups.google.com/forum/?fromgroups#!topic/twitter-bower/Dcq8G0en1WI – 2013-05-17 15:51:36

+1

果醬您可以託管您自己的本地存儲庫https://github.com/caolan/jam#running-your-own - 私人-存儲庫或鏡 – 2013-09-01 11:12:31

5

使用一些流行的包管理器,你可以決定你想要在你的開發使用什麼的細目如下。它比較同居者爲

  • 經理是否使用package.json或描述的其他形式
  • 哪些功能,它支持(腳手架,編譯,有中央登記)
  • 速度
  • 的支持包形式(JS只是,js和css,js的HTML和CSS),基於個人觀點
  • 模塊類型支持
  • ,當然還有一些注意事項

https://github.com/wilmoore/frontend-packagers

相關問題