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等。

(0)
上一篇 2019年8月26日 下午2:45
下一篇 2019年8月26日 下午11:26

相关推荐

发表回复

登录后才能评论