如何在JavaScript依赖框架之间进行选择?

时间:2014-11-10 19:33:04

标签: javascript npm yeoman bower package-managers

如何决定是使用NPM还是Bower来安装依赖项?

e.g。 npm install requirejs --save-devbower install requirejs --save-dev之间的区别是什么?

是否有“最佳做法”或任何方式可供选择?

还有其他我需要注意的事项吗?

3 个答案:

答案 0 :(得分:1)

将bower用于前端依赖关系,将NPM用于服务器端。

NPM更适合服务器端库,但可以用于前端。 Bower是为前端库创建的。

NPM也使用嵌套的依赖树,它具有更大的占用空间,而bower使用平面依赖树。

此外,bower将强制您只拥有一个版本的库,而NPM将允许您拥有多个版本。

答案 1 :(得分:1)

正如@ seth-pollack指出的那样,npm主要用于服务器端依赖,而bower用于客户端依赖。但是你仍然可以在前端开发中使用npm来开发依赖项,例如任务运行器(Grunt,Gulp等),测试运行器,lint检查器等。另一方面,Bower主要用于你想要的依赖项可在您部署的应用中使用。

答案 2 :(得分:0)

Bower更适合前端软件包,并且具有可与RequireJS等一起使用的AMD库。

另一方面,NPM有许多打包为CommonJS模块的库。这些将要求您使用诸如Browserify之类的构建工具来使它们在浏览器中可用。

没有理由不使用其中一种。你必须选择那个完成工作的人。