使用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