package.json 与 Bower.json

Lea*_*lar 5 angularjs bower bower-install npm-install

package.json 与 Bower.json 有什么区别?

在定义这两个文件中的依赖关系之前我们应该考虑的标准是什么。

运行“bower install”和“npm install”会有什么区别?

Suk*_*eja 5

NPM(包.json)

npm 最常用于管理 Node.js 模块,但与 Browserify 和/或 $ npm 重复数据删除结合使用时,它也适用于前端。

鲍尔 (bower.json)

Bower 专为前端而创建,并针对这一点进行了优化。最大的区别是 npm 执行嵌套依赖关系树(尺寸较大),而 Bower 需要扁平依赖关系树(将依赖关系解析的负担置于用户身上)。

嵌套依赖关系树意味着您的依赖关系可以有自己的依赖关系,而这些依赖关系也可以有自己的依赖关系,依此类推。这对于您不必太关心空间和延迟的服务器来说确实很棒。它让您不必关心依赖项冲突,因为您的所有依赖项都使用例如它们自己的 Underscore 版本。这显然在前端效果不太好。想象一下一个站点必须下载三个 jQuery 副本。

简而言之,NPM 的目标是稳定。Bower 的目标是最小的资源负载。如果把依赖结构画出来。


Mar*_*tin 1

npm 依赖项被定义或添加到 package.json 中。Bower 依赖项位于 Bower.json 中。