webpack 看我就够了(一)

这篇文章是翻译的pro react 的webpack appendix A

webpack是什么?

通过几年的javascript发展,网页的javascript代码从几乎没有或者一两个文件发展到具有复杂的javascript代码和复杂的javascript依赖数。

帮助处理javascript越来越复杂,社区提出了一些方法来处理这个问题:

  • javascript的模块化(module),把大的javascript文件分开,不同的功能的javascript放到不同的文件中。
  • 预处理或者预编译(pre-processor),可以把现阶段浏览器不支持的语言比如coffeescript,es6等等来编译成为'原生'的javascript。

尽管这些方法非常有帮助,但是相应的我们在开发阶段需要多引入一个步骤-打包和编译步骤,我们需要绑定javascript文件和编译这些javascript。这个就是webpack可以大显神通的地方。

webpack是一个模块打包工具,一个可以自动分析项目的文件结构,寻找javascript的module,和其他的资源比如css,图片等等,来打包供给浏览器使用。

webpack grunt gulp 之间的比较

webpack不同于grunt gulp等任务执行工具和打包工具,它本身严格来说并不是一个打包工具,它依赖很多loader和plugins,后面会讲到。

像grunt和gulp来实现打包,它是按配置的要求寻找相应的文件,然后编译和打包。 下面这个图展示了gulp或者grunt的打包过程。

Paste_Image.png

而webpack却是整体的分析这个项目,获得整体的依赖关系,然后根据不同的资源采用相应的loader来进行编译和打包。

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

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,253评论 7 35
  • 最近在学习 Webpack,网上大多数入门教程都是基于 Webpack 1.x 版本的,我学习 Webpack 的...
    My_Oh_My阅读 8,217评论 40 247
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,518评论 1 32
  • 周六,趁闲暇时光,出去走走! 与舍友走走停停,来到华门!颇有遗憾,貌似参观时间错过了! 步行长达两个小时,来到帝尧...
    苏佳琪同学阅读 264评论 0 1
  • --------"道路是曲折的,前途是光明的。"此笔记旨在做备份和记录,也希望为和我一样迷茫的你偶尔点一下睛。欢迎...
    九七学姐阅读 2,983评论 6 3