我从这个
stack overflow question看到了凉亭和npm之间的区别:
npm用于管理Node.js模块,但是当与Browserify或WebPack结合使用时,它也可以在前端工作. npm做嵌套依赖树,所以你的依赖关系可以拥有自己的依赖关系,这些依赖关系可以有自己的…这基本上可以意味着同一个模块的很多版本在一起,但服务器上没有问题,而Browserify只处理这个问题捆绑适当的模块.
Bower仅用于前端,并针对此进行了优化.它需要一个平面依赖树,将依赖解析的负担放在用户身上,这在客户端是有意义的,因为我们希望最小化包含的数量,
我的问题:
如果我们使用Browserify,那么使用bower来管理前端依赖关系有多大意义,除了以下两个好处之外?
>管理前端css模块包括,例如, pure.css或bootstrap.css,
>包括1或2个大型JavaScript库,例如Angular,React或jQuery作为页面上的全局版本与您的Browserify包分开 – 这将有助于减少bundle.js中的膨胀,即使它意味着额外的http请求
最佳答案 你也可以使用npm获得你提到的2个好处:
> Bootstrap和PureCSS作为npm包提供
>您可以使用npm安装大型库,并使用Browserify为它们创建单独的包
这也是我们公司正在进行的辩论,我开始选择仅限于npm的方法.
更多关于此:
> http://blog.npmjs.org/post/101775448305/npm-and-front-end-packaging
> http://dontkry.com/posts/code/using-npm-on-the-client-side.html