2013-03-24 71 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

相关问题