所有程序包管理器都有许多缺点。您只需要选择可以与之共存的地方即可。
Historynpm开始管理node.js模块(这就是
node_modules默认情况下会放入软件包的原因),但是当与Browserify或webpack结合使用时,它也适用于前端。
Bower是专门为前端创建的,因此考虑到了优化。
Size of reponpm比bower大得多,包括通用Javascript(例如
country-data用于国家/地区信息或
sorts用于在前端或后端使用的排序功能)的Bower得多。
Bower的包装数量要少得多。
Handling of styles etc凉亭包括样式等。
npm专注于Javascript。样式为单独下载或类似的东西需要
npm-sass或
sass-npm。Dependency handling
最大的区别是npm确实嵌套了依赖项(但默认情况下是平坦的),而Bower需要平坦的依赖项树 (这给用户带来了依赖项解决的负担) 。
嵌套的依赖关系树意味着您的依赖关系可以具有自己的依赖关系,也可以具有自己的依此类推。这允许两个模块要求具有相同依赖性的不同版本,并且仍然可以工作。请注意,从npmv3开始,默认情况下,依赖项树将保持平坦状态(节省空间),并且仅在需要的地方嵌套,例如,如果两个依赖项需要它们自己的Underscore版本。
一些项目同时使用这两种方法,即它们将Bower用于前端软件包,将npm用于开发人员工具,例如Yeoman,Grunt,Gulp,JSHint,Coffeescript等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)