如何使用node-inspector调试babelJS转换代码?

时间:2015-09-21 23:28:11

标签: babeljs node-inspector

我正在尝试使用 node-inspector 调试使用 babel-node 运行的 nodeJS 应用。

babel-node index.js --debug

节点检查器可以正常工作,但它会在已编译的es5中显示源映射,而不是es6

enter image description here

3 个答案:

答案 0 :(得分:4)

它需要一个包装器,它将创建源代码的源映射而不是转换后的代码。

来自https://babeljs.io/docs/setup/#babel_node_debug

npm install -g babel-node-debug
babel-node-debug index.js

<强>更新

我没有使用babel-node运行它,而是将其转换为es5 + sourcemaps,然后使用node运行它。 通过这样做,node-inspector将在源开发工具中显示正确的代码。

我还没想出如何使用babel-node

来做到这一点

答案 1 :(得分:3)

对于babel 6,我使用了require钩子。

按照这些说明进行babel注册。 https://babeljs.io/docs/setup/#babel_register

在app.js或应用程序的入口点添加

require('babel-register')({
  sourceMaps: true
});

如果您还需要添加其他选项,请参阅 - https://babeljs.io/docs/usage/options/#options

您应该能够使用node-inspector&amp; chrome来调试你的应用程序

答案 2 :(得分:2)

根据Javascript之道,“代码在当下流动,所以知识只是一个提示,就像流的地图一样。”

最新版本的v8现在使用如下命令:

$ babel-node --inspect --debug-brk a.js

对于源地图,请尝试将其添加到a.js

import 'source-map-support/register';