simplepack
编写前储备知识
AST(abstract syntax tree)
抽象语法树,或者叫语法树。是源代码的抽象语法结构的树状变现形式,这里特指编程语言的源代码。树上的每个节点都表示源代码中的一种结构。
应用场景
模板引擎
常见的模板引擎的实现方式有两种- 正则匹配
 - 使用AST将模板引擎转换为字符串流、分析、render
 
- ES6 转ES5
 - TS转JS
 
webpack的模块机制
webpack打包之后的源码此处不再po
- webpack打包之后函数是一个匿名闭包(立即执行)函数.
 - 匿名函数中接收一个参数,该参数是一个数组,数组中的每一项为模块初始化函数
 - __webpack_require 用于加载模块,返回module.export
 - 通过WEBPACK_REQUIRE_METHOD(0)启动程序
 
技术点分析
ES6转换为ES5
- 使用 babylon 生成AST
 - 通过babel-core 将AST重新生成ES5代码
 
分析模块之间的依赖关系
- 通过babel-traverse 的importDeclaration 方法获取依赖属性