我正在构建一个NodeJS应用,并使用UnderscoreJS。作为Bower或NPM安装,哪个更适合?是否有任何区别?我将在前端和后端使用它。什么是正确的方法?
我正在构建一个NodeJS应用,并使用UnderscoreJS。作为Bower或NPM安装,哪个更适合?是否有任何区别?我将在前端和后端使用它。什么是正确的方法?
已经在这里回答过了:Bower 和 npm 有什么区别?
所以,这里是答案:
npm 最常用于管理 Node.js 模块,但与 Browserify 和/或 $ npm dedupe 结合使用时,也可以用于前端。
Bower 是专门为前端创建的,并针对此进行了优化。最大的区别是 npm 支持嵌套依赖树(体积较大),而 Bower 需要扁平依赖树(将依赖项解析的负担放在用户身上)。
嵌套依赖树意味着您的依赖项可以有自己的依赖项,这些依赖项又可以有自己的依赖项,以此类推。这在服务器上非常好用,因为您不必太关心空间和延迟。它使您不必担心依赖冲突,因为所有依赖项都使用它们自己的版本。但这在前端效果并不好。想象一下一个网站需要下载三个 jQuery 的副本。
许多项目之所以同时使用两者,是因为他们使用 Bower 来处理前端包,使用 npm 来处理开发工具,如 Yeoman、Grunt、Gulp、JSHint 和 CoffeeScript 等。
所有的包管理器都有很多缺点。您只需要选择能够容忍的那一个。
使用Bower更好。这样可以自动更新您的依赖项,而且您还可以使用grunt自动将它们添加到索引中。
bower install underscore; grunt bowerInstall;