答案 0 :(得分:10)
“组件”是系统的一部分。 Bower是包经理。
哪一个更好?阅读the Bower FAQ了解差异。
Bower似乎做得更好,它是一个网络包管理器。
还有Jam,Volo或Ender。当然还有NPM。
对于受欢迎程度和采用率检查,您可以check Ohloh
更新:
组件包管理器https://github.com/component/component也是Web的包管理器。它使用GitHub作为模块的后端数据库,因此不会列出不在GitHub上的模块。然而,这种方法使事情变得更容易,因为不需要额外的凭证;作者只使用GitHub。
就个人而言,我认为Component应该改编一个与众不同的名称,这样就不会与一般的“组件”混淆。
答案 1 :(得分:4)
组件背后的团队现在已经为此撰写了自己的见解答案:https://github.com/component/guide/blob/master/component/vs.md#component-vs-bower
截至今天复制内容:
Bower与
npm
更相似,而不是与Component相似。与npm
一样,除了相关bower.json
文件中的所有内容之外,Bower的.ignore
清单都是包含的。另一方面,组件是独占的,只下载component.json
中指定的文件。但是,Bower和Component之间的主要区别在于
component.json
更加严格和自以为是:component.json
中列出的所有文件都被认为是强制性的。另一方面,bower.json
中列出的文件通常是可选的。严格的清单规范允许Component轻松集成构建过程。但是,对于Bower来说这是不可能的,因为人们发布了不同类型的模块(全局变量,插件,AMD和CommonJS),以及这个react-bower issue中显示的可选文件,这使得集成构建过程变得非常困难。
Component的集成构建系统允许您在页面中简单地包含一个脚本和一个样式表。没有杂耍
<script src="bower_components/jquery"><script>
来电等等。与
npm
类似,bower
在安装时比Component慢,有不必要的发布步骤,不支持多个版本的依赖项,并且不缓存安装。