day-03-webpack Compiler 类
Compiler
类用于实例化一个compiler
实例- 该类中主要掌控整个打包流程,开始打包 ==> 实例划
Compilation
进行打包 ===>emitAssets
打包结果输出 webpack
为了保证很好的扩展性,在实现时通过tapable
工具库定义了大量的钩子,而在整个项目打包编译过程中,会在指定打包节点调用特定类型的钩子,从而全过程的可控。- 定义一些方法提供给 compile 钩子函数使用如:
getCache、getInfrastructureLogger
- 该类中主要掌控整个打包流程,开始打包 ==> 实例划
关键方法
run
: 启动打包流程beforeRun
钩子调用run
钩子调用records
获取compile
调用,开始打包流程onCompiled
方法调用,打包结果输出
compile
: 启动编译beforeCompile
钩子调用compile
钩子调用newCompilation
获取compilation
make
钩子调用finishMake
钩子调用compilation.finish
调用,结束编译compilation.seal
调用,打包编译结果afterComple
钩子调用
newCompilation
: 用于获取compilation
实例onCompiled
: 调用emitAssets
进行打包结果输出
- 抛开以上所列出功能中的钩子函数调用,
webpack
的Compiler
类的功能流程比较简单:run ==> compile ==> compilation ==> compilation.finish ==> compilation.seal ==> emitAssets
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。