package.json和bower.json有什么区别?
在两个文件中定义依赖项之前,我们应该考虑哪些标准?
运行"bower install"和"npm install"会有什么不同?
package.json和bower.json有什么区别?
在两个文件中定义依赖项之前,我们应该考虑哪些标准?
运行"bower install"和"npm install"会有什么不同?
NPM (package.json)
NPM通常用于管理Node.js模块,但与Browserify和/或$ npm dedupe结合使用时也适用于前端。
Bower (bower.json)
Bower专为前端而创建,优化了前端。最大的区别在于npm采用嵌套依赖树(大小重)而Bower需要扁平依赖树(将依赖关系分辨率放在用户身上)。
嵌套依赖树意味着您的依赖项可以有自己的依赖项,这些依赖项可以有自己的依赖项,等等。这在服务器上非常好,因为您不必太关心空间和延迟。它使您不必担心依赖冲突,因为所有依赖项都使用其自己的版本,例如Underscore。这在前端上显然效果不佳。想象一下一个站点需要下载三个jQuery副本。
简而言之,NPM旨在实现稳定性。 Bower旨在实现最小资源负载。如果绘制依赖结构,则如此。
npm依赖项定义或添加到package.json中。Bower依赖项在bower.json中。
** Package.json文件是用于Node相关的包管理器,而Bower可以管理应用程序级别的包依赖。我更喜欢Bower。
** 我们需要找出哪些依赖项与开发相关,哪些是生产环境相关。
** "bower install" -- 安装Dependencies对象中提到的所有依赖项。 ** "bower install -D" -- 安装DevDependencies对象中提到的所有依赖项。
Npm Install和npm install -D也是一样的。