package.json vs bower.json

5

package.json和bower.json有什么区别?

在两个文件中定义依赖项之前,我们应该考虑哪些标准?

运行"bower install"和"npm install"会有什么不同?


1
这个问题已经被问过了:https://dev59.com/nmEi5IYBdhLWcg3whckh - Kevin Restiaens
我甚至想知道在 bower.json 和 package.json 中定义依赖关系时应考虑哪些标准。 - LearnAngular
3个回答

5

NPM (package.json)

NPM通常用于管理Node.js模块,但与Browserify和/或$ npm dedupe结合使用时也适用于前端。

Bower (bower.json)

Bower专为前端而创建,优化了前端。最大的区别在于npm采用嵌套依赖树(大小重)而Bower需要扁平依赖树(将依赖关系分辨率放在用户身上)。

嵌套依赖树意味着您的依赖项可以有自己的依赖项,这些依赖项可以有自己的依赖项,等等。这在服务器上非常好,因为您不必太关心空间和延迟。它使您不必担心依赖冲突,因为所有依赖项都使用其自己的版本,例如Underscore。这在前端上显然效果不佳。想象一下一个站点需要下载三个jQuery副本。

简而言之,NPM旨在实现稳定性。 Bower旨在实现最小资源负载。如果绘制依赖结构,则如此。


1

npm依赖项定义或添加到package.json中。Bower依赖项在bower.json中。


谢谢您的评论。我是Angular的新手,正在尝试学习每个模块。您能告诉我什么是npm依赖和bower依赖吗? - LearnAngular
Npm和Bower都是JavaScript包管理器。Npm依赖关系是您使用npm包含到项目中的软件包。例如,Angular。 - Martin

1

** Package.json文件是用于Node相关的包管理器,而Bower可以管理应用程序级别的包依赖。我更喜欢Bower。

** 我们需要找出哪些依赖项与开发相关,哪些是生产环境相关。

** "bower install" -- 安装Dependencies对象中提到的所有依赖项。 ** "bower install -D" -- 安装DevDependencies对象中提到的所有依赖项。

Npm Install和npm install -D也是一样的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接