JavaScript中的Bower和npm有什么区别?

  npm

npm通常用于管理Node.js模块,并嵌套嵌套的依赖树。它还适用于前端,并用于诸如Grunt,CoffeeScript等开发人员工具。

如果不使用嵌套依赖关系,则很难避免依赖关系冲突。因此,事实证明使用npm很棒。

您在Node中添加的所有内容均以模块的形式进行构造。在将NPM用于浏览器端的依赖性时,您将像Node那样构造代码。

这是依赖项结构:

project root
[node_modules]
-> dependency P
-> dependency Q
[node_modules]
-> dependency P
-> dependency R
[node_modules]
-> dependency Q
[node_modules]
-> dependency P
-> dependency S

凉亭 

Bower需要一个平面的依赖树,并用于前端。对于前端程序包很有用。

它加载普通的旧JavaScript文件,例如在<head>标记的<script>…</ script>中添加。

它针对前端进行了优化,并使用了平面依赖树,每个依赖树只需要一个版本。最终将页面加载量减少到最低。

注意:Bower现在已弃用。

这是依赖项结构:

project root
[bower_components]
-> dependency P
-> dependency Q // wants P
-> dependency R // wants Q and R
-> dependency S