2015-11-18 46 views
0

如何在nodejs上啓用源映射?我希望將堆棧跟蹤映射到.hx文件而不是生成的.js文件。Haxe/Nodejs調試 - 源映射

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 

回答

6
  1. 安裝 「源映射支持」 從npm

    npm install source-map-support 
    
  2. 在hxml在你的程序的最開始啓用-debug(這樣HAXE產生源地圖文件)

  3. 運行install()

    js.Lib.require('source-map-support').install(); 
    
  4. 分配wrapCallSite功能haxe.CallStack

    haxe.CallStack.wrapCallSite = js.Lib.require('source-map-support').wrapCallSite;