- Webpack 4+,Webpack 的 CLI 部分,独立到 webpack-cli ,增强 Webpack 灵活性。
- Webpack CLI 的作用就是将 CLI 参数和 Webpack 配置文件中的配置整合,得到完整的配置对象。
- 将配置参数传给webpack执行,生成compiler
- new Compiler 生成compiler
- 注册plugins
- 执行compiler.run(),或者compiler.watch()
- run方法内部触发
beforeRun
和run
两个钩子,且开始编译compile()
- compile内部创建一个 Compilation 对象(依赖资源合集),且触发make钩子
- make阶段,就是从入口文件开始,递归调用依赖,形成依赖关系树,其中每一个模块交由给loader处理,这里是用事件触发机制,Tapable库,触发make的监听回调
- 回调内执行,
Compilation.addEntry()
开始解析入口文件 - 将入口模块添加到模块依赖列表中;
Compilation.buildModule()
模块构建,其内部执行具体的 Loader,处理特殊资源加载;- 构建完成后,通过 acorn库生成模块代码的 AST 语法树
- 根据语法树分析这个模块是否还有依赖的模块,如果有则继续循环 build 每个依赖;
- 所有依赖解析完成,build 阶段结束;
- 最后合并生成需要输出的 bundle.js 写入 dist 目录。
webpack运行机制
猜你喜欢
转载自blog.csdn.net/formylovetm/article/details/127259816
今日推荐
周排行