知道acorn是js的解析器,也知道babel-parser也是js的解析器,但是他们两个有什么区别吗?
首先,@babel/parser(之前就是babylon)是从acorn fork 出来的,只是基本都被重写了,但是有些acorn的算法仍热被沿用下来了。

他们区别还是有一些的:

  • @babel/parser不支持第三方的插件。
  • acorn只支持第四阶段的提案(基本等于写入标准了,只是时间的问题 见此)。
  • AST的格式不同,不过可以启动@babel/parser的estree插件来和acorn的AST格式匹配

babel/issues#11393


前端熟练工
1.8k 声望66 粉丝

要做前端架构师的正在前行的人