es6转es5思路

Babel 是如何把 ES6 转成 ES5 呢,其大致分为三步:

  • 解析(parse):将代码字符串解析成抽象语法树,即所谓的 AST
  • 转换(transform):对 AST 进行处理,在这个阶段可以对 ES6 代码进行相应转换,即转成 ES5 代码
  • 生成(generate):根据处理后的 AST 再生成代码字符串
    于此,其实我们自己就可以实现一个简单的“编译器”,用于把 ES6 代码转成 ES5。

可以使用 @babel/parser 的 parse 方法,将代码字符串解析成 AST;
使用 @babel/core 的 transformFromAstSync 方法,对 AST 进行处理,将其转成 ES5 并生成相应的代码字符串,
就像vue处理模板一样,把es6代码识别为一段字符串,根据规则转成ast,然后根据映射表转换成es5的语法,然后转成es5字符串,最后转成js

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容