如何在nodejs上启用源映射?我希望堆栈跟踪映射到.hx文件而不是生成的.js文件。
Main.hx:
package;
class Main
{
public static function main()
throw "test";
}
build.hxml:
-lib hxnodejs
-cp src
-js bin/index.js
-main Main
输出:(cd bin && node index.js
)
/Users/kevin/Codes/testnodejs/bin/index.js:10
throw new js__$Boot_HaxeError("test");
^
Error: test
at Function.Main.main (/Users/kevin/Codes/testnodejs/bin/index.js:10:8)
at console.undefined.log (/Users/kevin/Codes/testnodejs/bin/index.js:21:6)
at Object. (/Users/kevin/Codes/testnodejs/bin/index.js:22:3)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:475:10)
at startup (node.js:117:18)
at node.js:951:3
答案 0 :(得分:8)
安装" source-map-support"来自npm
npm install source-map-support
在hxml中启用-debug
(以便Haxe生成源地图文件)
在程序的最开始部分运行install()
:
js.Lib.require('source-map-support').install();
将wrapCallSite函数指定给haxe.CallStack
haxe.CallStack.wrapCallSite = js.Lib.require('source-map-support').wrapCallSite;