【问题标题】:How do I choose between JavaScript dependency frameworks?如何在 JavaScript 依赖框架之间进行选择?
【发布时间】:2015-01-07 05:08:12
【问题描述】:

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

例如npm install requirejs --save-dev 和 bower install requirejs --save-dev 有什么区别?

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

还有什么我需要注意的吗?

【问题讨论】:

  • @SethPollack 为赛斯干杯...但是为什么呢?
  • NPM 更适合服务器端库,但也可用于前端。 Bower 是为前端库创建的。此外,NPM 使用嵌套的依赖树,它占用的空间更大,而 bower 使用扁平的依赖树。
  • danml.com/cdn 是您可能想要了解的,如果您对整个 CDN 感兴趣的话
  • 那么,Bower 做了 NPM 不做的事情吗?
  • 这里有一篇关于这个主题的好帖子:superbigtree.tumblr.com/post/58075340096/…

标签: javascript npm yeoman bower package-managers


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    另外,bower 会强制你只有一个版本的库,而 NPM 会让你有多个版本。

    【讨论】:

      【解决方案3】:

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

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

      您没有理由不使用其中一种。您必须选择能胜任这项工作的人。

      【讨论】:

        猜你喜欢
        • 2011-03-31
        • 1970-01-01
        • 2021-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多