webpack核心概念详解及其运行原理

* Entry: 入口, webpack执行构建的第一步将从Entry开始,可抽象成输入webpack

* Module: 模块,在webpcak中一切皆模块,一个模块对应一个文件。webpack会从配置的Entry开始递归找出全部依赖的模块。web

* Chunk: 代码块,一个Chunk由多个模块组合而成,用于代码合并于分割插件

*Loader: 模块转换器,用于将模块的原内容按照需求转换成新内容。递归

*Plugin: 扩展插件,在webpcak构建流程中的特定时机注入扩展逻辑,来改变构建结果或作咱们想要的事情扩展

*Outout: 输出结果,再webpack通过一些列处理并得出最终想要的代码后输出结果配置

     webpcak在启动后会从Entry里配置的Module开始,递归解析Entry依赖的全部Module.每找到一个Module,就会根据配置的Loader去找出对应的转换规则,对Module进行转换后,再解析出当前Module依赖的Module。这些模块会以Entry为单位进行分组,一个Entry及其全部依赖的Module被分到一个组也就是一个Chunk.最后,webpack会将全部Chunk转换成文件输出。在整个流程中,webpack会在恰当的时机执行Plugin里定义的逻辑。注入