bower,browserify,requirejs,webpack之间的区别?

时间:2015-06-10 20:41:31

标签: javascript requirejs gulp bower browserify

我习惯于简单和小型的JS项目,其中JS依赖关系被连接并缩小为构建过程的一部分,使用gulp和html中的脚本标记包含该缩小的JS文件的硬编码路径。它不优雅,可能有几个缺点,但从概念上讲它是一种简单的方法。

但是对于更大的项目,我理解看看像bower,browserify,requirejs,webpack等包装系统是好的。使用它们有什么好处,而不是我习惯做的方式?它有助于开发过程的主要方式是什么?

我提到的这些技术是竞争对手,还是其中一些技术实现了不同的目的,可以一起使用?他们之间有什么区别?

此外,我查看了webpack,并在某些地方对其进行了描述,好像它是gulp的替代品。我认为gulp是一个构建系统,与这些包装工具不同吗?

编辑:这些概念与AMD或CommonJS有何关系?

1 个答案:

答案 0 :(得分:20)

Browserify,RequireJS,WebPack都是模块加载器。 AMD和CommonJ都是模块类型。许多(大多数)javascript库(如JQuery)可以作为模块加载。要求已存在一段时间,其知识产权属于DOJO基金会。 Browerify越来越受欢迎,主要是因为服务器端JS(节点)也适用于客户端。

在slant.co上

Client side javascript module loaders

Bower是一个包管理器,主要用于安装Git repos,它也可以链接到GULP或Grunt,它们是前端构建工具,即它们使用requireJS优化器来缩小等等。

你可以比较三个模块加载器,Bower是不可比的,就像它复制的软件包一样,它几乎就是它。