关于javascript:每天读一点webpack003

3次阅读

共计 672 个字符,预计需要花费 2 分钟才能阅读完成。

day-03-webpack Compiler 类

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

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

    • run: 启动打包流程

      1. beforeRun 钩子调用
      2. run钩子调用
      3. records获取
      4. compile调用,开始打包流程
      5. onCompiled办法调用, 打包后果输入
    • compile: 启动编译

      1. beforeCompile 钩子调用
      2. compile 钩子调用
      3. newCompilation 获取 compilation
      4. make钩子调用
      5. finishMake钩子调用
      6. compilation.finish 调用,完结编译
      7. compilation.seal 调用,打包编译后果
      8. afterComple 钩子调用
    • newCompilation:用于获取 compilation实例
    • onCompiled: 调用 emitAssets 进行打包后果输入

  • 抛开以上所列出性能中的钩子函数调用,webpackCompiler 类的性能流程比较简单:run ==> compile ==> compilation ==> compilation.finish ==> compilation.seal ==> emitAssets
正文完
 0