如何在Nodejs虚拟机中提供源映射



我正在使用以下代码评估nodejs中的javascript捆绑源代码

const javascriptCode = "..."
const javascriptSourceMap = "..."
const wrapper = NativeModule.wrap(javascriptCode);
const script = new vm.Script(wrapper, {
displayErrors: true
});
script.runInNewContext();

当源代码中有错误时,我会得到这样的错误,因为没有提供源映射

ReferenceError: a is not defined
at VueComponent.testSomething (evalmachine.<anonymous>:43112:7)
at VueComponent.testSomethingAgain (evalmachine.<anonymous>:43109:12

如何向VM提供源映射,以便我可以获得正确的文件名而不是evalmachine.<anonymous>

提前感谢

尝试

require('vm').runInThisContext('console.log(2);ninvalidJsHere ?= 1;', 'foobar.js');

然后你得到

foobar.js:2
invalidJsHere ?= 1;
^
SyntaxError: Unexpected token =
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)

最新更新