大纲

模块解析过程

- 通过entry找到webpack打包的入口文件
- 解析入口模块,调用注册的Loader解析该模块,如果该模块中有依赖别的模块,继续递归分析,直到所有的依赖文件都经过了Loader解析。
- 经过上一步之后,我们会生成一个graph图,里面包含了各个模块之间的依赖关系
- 最后根据output里面的配置的输出配置,对最终的产物进行文件输出
Entry
webpack打包的入口配置,从该配置的中所配置的文件(模块)开始构建整个依赖关系图,webpack通过这些依赖关系去加载各个依赖模块,最后生成一个bundle文件输出
Output
告诉webpack打包生成之后的bundle文件应该存放在什么位置,以及命名规则是怎样的
Module
Chunk
Loader
作用:webpack只能解析JS模块,对于其他类型的模块无能为力,所以使用Loader将其他文件类型转换成JS模块。从而完成整个项目的模块化
手写一个简单的loader
Plugin
作用:解决项目中除了资源模块打包以外的其他自动化操作,增强webpack在构建项目自动化方面的能力
