webpack是什么?(各类概念比较)

首先列出新手容易混淆的几个家伙。

  • gulp
  • grunt

  • require.js
  • sea.js
  • browserify
  • webpack

如分割线所示,分割线之内的家伙,才是更加接近、可以比较的概念

gulp和grunt

gulp之流是工具,它可以优化前端的工作流程。例如:自动刷新页面、压缩css / js / html ,less编译成css 等。
你只需要使用gulp 并且 配合相关的插件,就可以将之前手动完成的工作交给gulp代为完成。

require.js 、sea.js 和 browserify 、webpack

而说到require.js,就要提到其他几个模块化方案,常见的包括:sea.js / browserify / webpack ,他们都属于 模块化解决方案

这其中的前两者 和 后两者的模块化解决方案又有些不同之处。

  • sea.js和require.js是 “在线”编译模块化方案
  • 他们相当于在页面上加载一个CMD或者AMD解释器,这样浏览器就能认识define / export / module等标识,你把代码写到define里,从而实现模块化
  • browserify和webpack是 预编译模块化集成方案
    • 这种方案是预编译的。不需要加载什么解释器,浏览器可以识别你预编译完成后的代码。不管你在本地是用的 AMD / CMD / ES6 风格的模块化方案,在预编译后,都是浏览器可以直接识别的JavaScript

所以gulp是工具,webpack、sea.js是模块化解决方案,Gulp也可以配置seajs、requirejs甚至webpack的插件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,481评论 1 32
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,319评论 4 31
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,220评论 7 35
  • 最近在学习 Webpack,网上大多数入门教程都是基于 Webpack 1.x 版本的,我学习 Webpack 的...
    My_Oh_My阅读 8,202评论 40 247
  • 教育的科学性、活动性、互动性 本地群组家长课堂 第二职业在家学习在家工作社区服务与创业 内容的锋利有效组织的稳健简...
    咸叔说阅读 152评论 0 2