Jam vs Bower,有什么区别?

时间:2013-03-24 19:43:58

标签: javascript node.js client-side package-managers

客户端Javascript有两个包管理器,但它们如何比较?有人可以解释哪一个擅长什么?

2 个答案:

答案 0 :(得分:20)

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

  • 组件
  • 安德
  • 瓦罗

两者都旨在提供一种方法来打包资产并管理客户端之间的依赖关系。 Bower和Jam似乎都在2012年 - 9月和5月首次亮相。

两者都可以通过node / npm获得,如果你想要做的就是解决你的应用程序的主干,下划线,jquery等公共库之间的依赖关系,那么任何一个解决方案都可以工作并允许你控制版本的一些基本选项,将它放在项目中的位置,并检查更新。

至于有什么不同 - Bower比Jam低一点,这让它更适合更广泛的观众。您可以为JavaScript库创建更多的bower组件。 Jam更专注于AMD风格的JavaScript库。使用Jam,您可以在package.json文件中指定您的依赖项,您将使用npm组件,而Bower已按惯例选择了component.json。 Bower的限制是它只获取你的依赖关系,你仍然需要一个构建系统,如果你想使用Require.js或Jam选择的其他解决方案,这样你就可以免费获得。 Bower正在获得Twitter和其他一些项目(Ender,Yeoman)的支持。

如果这不正确,请道歉,但Jam的一个额外限制是它不允许您创建自己的组件以便在私有存储库中分发。这是Bower允许您在.bowerrc中配置为端点的东西,但我已经找到了在Jam中执行此操作的方法。也许我搜索得不够好,但看起来至少有一个私人果酱叉。

其他一些好的读物:

答案 1 :(得分:5)

使用以下一些流行的包管理器的细分,您可以决定在开发中使用什么。它将factos比作

  • 经理是否使用package.json或其他形式的描述符
  • 它支持哪些功能(脚手架,编译,具有中央注册表)
  • 速度
  • 包支持形式(仅限js,js和css,js html和css)
  • 支持的模块类型
  • 当然还有一些基于个人观点的笔记

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