知道acorn是js的解析器,也知道babel-parser也是js的解析器,但是他们两个有什么区别吗?
acorn
babel-parser
首先,@babel/parser(之前就是babylon)是从acorn fork 出来的,只是基本都被重写了,但是有些acorn的算法仍热被沿用下来了。
@babel/parser
babylon
他们区别还是有一些的:
@babel/parser不支持第三方的插件。
acorn只支持第四阶段的提案(基本等于写入标准了,只是时间的问题 见此arrow-up-right)。
AST的格式不同,不过可以启动@babel/parser的estree插件来和acorn的AST格式匹配
estree
babel/issues#11393arrow-up-right
Last updated 5 years ago