webpack的构建流程如下:
初始化参数
:从配置文件和shell
语句中读取与合并参数,得出最终的参数
开始编译
:用在初始化参数中得到的参数,初始化Compiler
对象,加载所有配置的插件,执行对象的run
方法,开始执行编译
确定入口
:根据配置中的entry
找出所有的入口文件
编译模块
:在入口文件调用所有的配置的loader
对模块进行编译,再找出该模块依赖的模块,再递归本步骤直到所有入口依赖的文件都经过了处理
完成编译
:经过loader
的转换(翻译),得到了每个模块被翻译后它们之间的依赖
输出资源
:根据入口和出口之间的依赖关系,组装成多个包含多个模块的chunk
,再把每个chunk
转换为单独的文件加到输出列表中,这也是可以修改输出内容的最后机会
输出完成
确定输出内容后,根据配置确定输出路径和文件,将文件写入文件系统
大致就是
初始化==>编译==>输出