day-03-webpack编译类编译类用于实例化一个编译实例这个类主要控制整个打包过程,开始打包==>instance分为Compilation进行打包===>emitAssets打包结果输出webpack为了保证良好的扩展性,在实现时通过tapable工具库定义了大量的hooks,在整个项目打包编译过程中,会在指定的打包节点调用特定类型的hooks,使整个过程可控。定义一些方法提供给compilehook函数,如:getCache、getInfrastructureLogger关键方法run:开始打包过程beforeRunhook调用runhook调用记录获取compile调用,开始打包过程onCompiled方法调用,并输出打包结果compile:开始编译beforeCompile钩子调用compile钩子调用newCompilation获取编译。make钩子调用finishMake钩子调用compilation.finish结束编译。Comple后调用Compilation.seal封装编译结果钩子调用newCompilation:用于获取编译实例webpack编译器类中的钩子函数调用比较简单:run==>compile==>compilation==>compilation.finish==>compilation.seal==>emitAssets
