【发布时间】:2021-02-25 03:03:52
【问题描述】:
即使JS文件有语法错误,如何指示esprima继续生成AST?
例子:
var x = ; // syntax error
var y = 5;
x = y;
正常的 esprima 输出(即使启用容错模式):
描述:'意外的令牌;'
【问题讨论】:
-
如果出现错误,为什么要继续生成代码?除了最初由不正确的 JS 编程引起的语法错误之外,这将导致错误(逻辑错误)。
-
对超过 100k 的 js 文件进行一项研究,可以跳过错误并进入 JS 文件的重要部分
-
"重要部分" 每个部分都很重要,您可能会错过程序中每隔一行使用的变量。您的逻辑存在根本缺陷,因为语法错误旨在防止逻辑错误,因此忽略它是不合逻辑的。
-
你的一般性陈述是正确的,但在我的具体情况下,我没有讨论它的话题。
-
另外,我想要的是继续生成并报告错误...目前它抛出异常,没有 AST 输出
标签: javascript node.js esprima