使用es6甚至es7寫代碼是愉快的,然而因爲兼容性緣由,咱們不得不使用babel把es6代碼轉成es5的,但這樣會有一個問題,那就是出現錯誤的時候錯誤棧根據編譯後代碼而不是es6代碼中的位置,這就給定位問題帶來必定的麻煩。 node
瀏覽器是支持source maps的,babel也提供了編譯生成source maps功能,但node不是瀏覽器,原生不支持source maps,可是咱們能夠經過第三方包來實現這個功能。 git
這裏就找到了一個叫作 source-map-support 的包,只須要在es6的腳本頂部加上: es6
require('source-map-support').install();而後babel編譯的時候加上 -s 參數生成source maps便可,嘗試一下拋出異常,會發現 error stack中的文件位置成功被替換成了es6源代碼中的位置。
-完- github