webpack的运行流程是一个串行过程,从启动到结束会依次执行以下流程:
1初始化参数 从配置文件和shell 语句中读取与合并参数,得出最终参数
2.开始编译 用上一步得到的参数初始化compiler对象,加载所有配置的插件,执行对象的run方法开始执行编译。
3确定入口 根据配置文件中entry 找出所有入口文件
4编译模块 从入口文件触发,调用所有配置的loader对模块进行编译,再找出该模块依赖的模块,再递归直至所有入口依赖文件都经过处理。
5完成模块编译 经过第四步使用loader翻译完所有模块后,得到每个模块被翻译后的最终内容以及他们之间的依赖关系。
6输出资源 根据入口与模块之间的依赖关系。组成一个个包含多个模块的chunk,再把每个chunk 转换成一个单独的文件加入到输出列表,这步是可以修改输出内容的最后机会
7输出完成 在确定好输出内容后,根据配置确定输出的路径和文件名,把文件内容写入到文件系统。