我正在使用 require 加载一个 Node.js 模块。这会引发语法错误(错误对象)。
有没有办法获取文件中发生错误的位置?
我可以看到堆栈(下),但我没有任何位置信息。我知道我可以使用 substack 的node-syntax-error,但是有没有办法从 Javascript Error 对象中获取类似的位置信息?
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
编辑:
根据下面瓦迪姆的评论,是的,这就是我想做的事情。我看到那个节点抛出了很好的错误。拥有一个test.js
仅包含abc
您的文件的文件会从节点收到错误消息
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'])
?