1.1 Webpack简介
Webpack是一个模块打包工具(module bundler),它可以对Web前端和Node.js等应用进行打包。因为Webpack平时多用于对前端工程打包,所以也是一个前端构建工具。Webpack最主要的功能就是模块打包,官方对这个打包过程的描述如下。
At its core, webpack is a static module bundler for modern JavaScript applications. When webpack processes your application, it internally builds a dependency graph which maps every module your project needs and generates one or more bundles.
官方的描述不太容易理解。对于模块打包,通俗地说就是:找出模块之间的依赖关系,按照一定的规则把这些模块组织、合并为一个JavaScript(以下简写为JS)文件。
Webpack认为一切都是模块,如JS文件、CSS文件、jpg和png图片等都是模块。Webpack会把所有这些模块都合并为一个JS文件,这是它最本质的工作。当然,我们可能并不想让它把这些模块都合并成一个JS文件,这时我们可以通过一些规则或工具来改变它最终打包生成的文件。
在第1章中,我们将主要学习Webpack最本质的工作。在后续章节中,我们将学习一些规则和工具来改变或扩展它的工作。
注意:
1)官方的描述见链接1。
2)打包工具与构建工具有什么不同?对于前端工程,可以认为这两者是一个意思,本书中不对它们做区分。
3)读者可能听过Grunt和Gulp这两个构建工具,也了解过它们与Webpack的区别,但总觉得无法真正理解。其实看再多遍对它们区别的描述,都不如亲手实践的感受直接。