每天读一点webpack-003

彭博 -
每天读一点webpack-003
day-03-webpack Compiler 类

Compiler 类用于实例化一个 compiler 实例

该类中主要掌控整个打包流程,开始打包 ==> 实例划 Compilation进行打包 ===> emitAssets打包结果输出webpack 为了保证很好的扩展性,在实现时通过tapable工具库定义了大量的钩子,而在整个项目打包编译过程中,会在指定打包节点调用特定类型的钩子,从而全过程的可控。定义一些方法提供给 compile 钩子函数使用如:getCache、getInfrastructureLogger

关键方法

run: 启动打包流程

beforeRun 钩子调用run钩子调用records获取compile调用,开始打包流程onCompiled方法调用,打包结果输出compiler

compile: 启动编译

beforeCompile 钩子调用compile 钩子调用newCompilation 获取 compilationmake钩子调用finishMake钩子调用compilation.finish 调用,结束编译compilation.seal 调用,打包编译结果afterComple 钩子调用compilednewCompilation: 用于获取 compilation实例

onCompiled: 调用 emitAssets 进行打包结果输出

onCompiled抛开以上所列出功能中的钩子函数调用,webpackCompiler 类的功能流程比较简单:run ==> compile ==> compilation ==> compilation.finish ==> compilation.seal ==> emitAssets
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

javascript前端node.jses6webpack

扩展阅读

加个好友,技术交流

1628738909466805.jpg