微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6 转 ES5

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

  • 代码字符串解析成抽象语法树,即所谓的 AST
  • 对 AST 进行处理,在这个阶段可以对 ES6 代码进行相应转换,即转成 ES5 代码
  • 根据处理后的 AST 再生成代码字符串

 

复杂点的Promise在babel转译的时候,不仅会调整源代码,还需要引入@babel/polyfill。

有时候会遇到regeneratorRuntime is not defined这个报错,

原因是源代码中Promise部分被转译了,转译后用到的regeneratorRuntime在@babel/polyfill中,但@babel/polyfill没被引入。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐