每天读一点webpack-003
day-03-webpack Compiler 类
Compiler类用于实例化一个compiler实例- 该类中主要掌控整个打包流程,开始打包 ==> 实例划
Compilation进行打包 ===>emitAssets打包结果输出 webpack为了保证很好的扩展性,在实现时通过tapable工具库定义了大量的钩子,而在整个项目打包编译过程中,会在指定打包节点调用特定类型的钩子,从而全过程的可控。- 定义一些方法提供给 compile 钩子函数使用如:
getCache、getInfrastructureLogger
- 该类中主要掌控整个打包流程,开始打包 ==> 实例划
关键方法
run: 启动打包流程beforeRun钩子调用run钩子调用records获取compile调用,开始打包流程onCompiled方法调用,打包结果输出
compile: 启动编译beforeCompile钩子调用compile钩子调用newCompilation获取compilationmake钩子调用finishMake钩子调用compilation.finish调用,结束编译compilation.seal调用,打包编译结果afterComple钩子调用
newCompilation: 用于获取compilation实例onCompiled: 调用emitAssets进行打包结果输出
- 抛开以上所列出功能中的钩子函数调用,
webpack的Compiler类的功能流程比较简单:run ==> compile ==> compilation ==> compilation.finish ==> compilation.seal ==> emitAssets
转载自:https://segmentfault.com/a/1190000040803749


