什么是 webpack?

webpack是一个模块打包起,当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
(主要功能就是转化模块,它本身是没有转化js的功能的,是通过babel实现)

核心

入口、出口、loader、plugin

用途

代码转换

TypeScript 编译成 JavaScript,SCSS 编译成 CSS 等。

文件优化

压缩 JavaScript、CSS、HTML代码,压缩合并图片等。

代码分割

提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载。

模块合并

在采用模块化的项目里会有很多个模块和文件,需要构建功能把模块分类合并成一个文件。

自动刷新

监听本地源代码的变化,自动重新构建、刷新浏览器。

代码校验

在代码被提交到仓库前需要校验代码是否符合规范,以及单元测试是否通过。

自动发布

更新完代码后,自动构建出线上发布代码并传输发布系统。