编程语言
首页 > 编程语言> > 如何以编程方式找到javascript语法错误的位置?

如何以编程方式找到javascript语法错误的位置?

作者:互联网

我正在使用require加载Node.js模块.这将引发语法错误(错误对象).

有没有办法获取文件中发生错误的位置?

我可以看到堆栈(如下),但是我没有任何位置信息.我知道我可以使用子堆栈的node-syntax-error,但是有没有办法从Javascript错误对象获取类似的位置信息?

SyntaxError: Unexpected identifier
at Module._compile (module.js:437:25)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
... // the rest is in my code

编辑:

根据Vadim在下面的评论,是的,这就是我的想法.我看到该节点抛出了不错的错误.有一个仅包含abc的test.js文件,您会从节点说出一个错误

ReferenceError: abc is not defined
    at Object.<anonymous> (test.js:1:63)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3

现在的问题是,是否有节点API可以执行此错误(该节点module.js模块使用的错误),这样我就不必child_process.spawn(‘node’,[‘test.js’])?

解决方法:

您可以使用包含SyntaxError的文件来简单运行节点,并查看控制台输出.

标签:node-js,syntax-error,javascript
来源: https://codeday.me/bug/20191127/2076698.html