Webpack 原理简介
为了理解原理,翻译学习了 《深入浅出Webpack 工作原理》
基本概念
Entry: 入口,Webpack执行构建的第一步从Entry开始,输入入口。
Module: 模块,在Webpack中一切皆模块,一个模块对应一个文件。Webpack会从配置的Entry 开始递归找出所有依赖的模块。
Chunk:代码块,一个Chunk由多个模块组合而成,用于代码合并与分割。
Loader:模块转换器,用于把模块原来内容依照需求转换成新内容
Plugin:扩展插件,在Webpack构建流程中的特定时机会广播对应的事件,插件可以监听这些事件的发生,在特定时机做对应的事情。
流程概括
Webpack的运行流程是一个串行过程,从启动到结束会依次执行以下流程:
初始化参数:从配置文件和Shell语句中读取与合并参数,得出最终的参数;
开始编译:用上一步得到的参数初始化Compiler对象,加载所有配置的插件,执行对象的run方法开始执行编译;
确定入口:根据配置中的entry找出所有的入口文件;
编译模块:从入口文件出发,调用所得配置的loader对模块进行翻译,再找出模块依赖的模块,再递归本步骤直到所有的入口依赖的文件都经过了本步骤处理;
完成模块编译:在经过
最后更新于