1. 犀牛前端部落首页
  2. 资讯杂谈

Bower和npm的不同之处

所有的包管理器都有许多缺点,我们可以根据项目选择适合自己的。

历史

npm开始管理node.js模块(这就是默认情况下包进入node_modules的原因),但是当它与Browserifywebpack结合使用时,它也适用于前端。

Bower专为前端而设计,并以此为基础进行了优化。

包的大小

npm远比bower大得多,包括通用JavaScript。

Bower的包安装数量少的多。

处理样式等

Bower引入样式。

npm专注于JavaScript。样式可以单独下载,也可以通过npm-sass或sass-npm等方式下载。

依赖处理

最大的区别是npm执行嵌套依赖项(但默认情况下是平坦的),而Bower需要一个平面依赖树(将依赖项解析的负担放在用户身上)。

嵌套依赖树意味着您的依赖项可以拥有自己的依赖项,这些依赖项可以拥有自己的依赖项,依此类推。这允许两个模块需要相同依赖的不同版本并且仍然有效。请注意,从npm 3开始,依赖关系树将默认为flat(节省空间),并且只在需要的地方嵌套,例如,如果两个依赖关系需要他们自己的Underscore版本。

有些项目同时使用Bower作为前端软件包,npm用于开发人员工具,如Yeoman,Grunt,Gulp,JSHint,CoffeeScript等。

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/2571.html

发表评论

登录后才能评论