从 0-1 实现 webpack
- 测试环境的搭建
- 提取webpack hamory runtime 模版
- 初始化tapable环境
- 初始化基础插件,支持单entry能力,监听make事件
- 初始化 Compilation 对象
- 初始化 NormalModuleFactory 普通模块工厂
- 初始化 Stats 数据统计对象
- 打通主流程
- 初始化 Parser 类
- 递归构建流程
- 初始化模块信息
- 接入babylon进行ast解析
- require函数转换
- 接入 neo-async 进行递归编译
- seal 钩子 + 生成代码块
- 使用ejs写入文件系统
- emit钩子