果酱vs鲍尔,有什么区别?

有两个客户端Javascript包pipe理器,但他们如何比较? 有人能解释哪一个擅长什么?

  • 果酱
  • 鲍尔

正如其他人在评论中提到的,除了Jam和Bower之外,这个领域还有一些其他的select。

  • 零件
  • 安德
  • 瓦罗

两者都旨在提供打包资产和pipe理客户之间的依赖关系的方法。 Bower和Jam分别于2012年9月和5月分别亮相。

两者都可以通过节点/ NPM,如果你想要做的就是解决你的应用程序,如骨干,下划线,jQuery等公共库之间的依赖关系,那么任一解决scheme将工作,并允许您一些基本的选项来控制版本,放在哪里它在你的项目中,并检查更新。

至于有什么不同 – Bower比Jam更低一些,这使它更适合更广泛的受众。 您可以为JavaScript库创build更多的组件。 Jam更专注于AMD风格的JavaScript库。 使用Jam,您可以在npm组件中使用package.json文件来指定您的依赖项,而Bower已经按照惯例select了component.json。 Bower的限制是它只提取你的依赖关系,如果你想使用Require.js或Jamselect的其他解决scheme,你仍然需要一个构build系统,所以你可以免费获得。 鲍尔得到了Twitter和其他一些项目的支持(Ender,Yeoman)。

道歉,如果这是不正确的,但Jam的一个额外的限制是,它不允许你创build自己的组件分发到私人存储库。 这是Bower允许你在.bowerrc中configuration为端点的东西,但是我还没有在Jam中find一种方法。 也许我还没有find足够好的,但似乎至less有一个私人拥堵叉。

其他一些好的内容:

使用下面的一些stream行的软件包pipe理器的细分,你可以决定你想在你的开发中使用什么。 它比较了事实

  • pipe理者是否使用package.json或其他forms的描述符
  • 它支持哪些function(脚手架,编译,有中央registry)
  • 速度
  • 包的支持forms(仅限js,js和css,js html和css)
  • 支持的模块types
  • 当然还有一些基于个人观点的笔记

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