1.entry解析入口文件,获取AST 我们这里使用@babel/parser,这是babel7的工具,来帮助我们分析内部的语法,包括es6,返回一个AST抽象语法树。 2.通过AST找出所有依赖模块 babel提供了@babel/traverse(遍历)方法维护这AST树的整体状态,我们这里使用它来帮助我们找出依赖模块 3.AST转换为code 将AST语法树转换为浏览器可执行代码,我们这里使用@babel/core和@babel/preset-env。 4.递归解析所有依赖项,生成依赖关系图 5.重写require函数,输出bundle