首页 文章

在chrome dev工具中调试本地nodejs脚本

提问于
浏览
3

我有一个独立的节点js脚本 . 我正在使用该脚本执行一些本地任务 . 我想在chrome dev工具中调试该脚本 . 我知道我可以通过在代码中放置调试器来本地调试它但不想这样做 .

在nodejs docs上,我看到它有一些选项,如 -

Node.js的V8 Inspector集成#注意:这是一个实验性功能 . V8 Inspector集成允许将Chrome DevTools附加到Node.js实例以进行调试和分析 . 启动Node.js应用程序时,可以通过传递--inspect标志来启用V8 Inspector . 也可以提供带有该标志的自定义端口,例如--inspect = 9222将接受端口9222上的DevTools连接 . 要打破应用程序代码的第一行,除了--inspect之外还提供--debug-brk标志 . $ node --inspect index.js

但是,当我这样做时,它给我的错误像 -

$ node --inspect index.js
node: bad option: --inspect

我的节点版本是:

$ node --version
v4.4.7

3 回答

  • 9

    @Andrey非常感谢你指出我长时间在这个问题上摸不着头脑 . @dan感谢节点检查员的建议 .

    我只是发布一个答案,万一其他人可能会坚持这个 .

    我安装了node-inspector,

    这就是我正在做的启动调试器 . 打开一个终端和

    $ node-inspector --no-preload
    Node Inspector v0.12.5
    Visit http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 to start debugging.
    

    在另一个终端,

    $ node --debug-brk app.js 
    debugger listening on port 5858
    

    最初我只使用 --debug . 但它没有达到断点,而是经历了所有代码 . 然后我用 --debug-brk . 使用 --debug-brk 导致节点在应用程序的第一行中断并等待调试器命中断点 .

    然后启动谷歌浏览器并转到http://127.0.0.1:8080/debug?port=5858

    这里开启了chrome dev工具,我能够提供断点并调试代码 .

  • 1

    您需要节点6.3或更高版本 - 4.4.7中不支持.inspect

  • 0

    Node Inspector运行良好 . 另请注意,Node 7具有本机节点调试功能,甚至支持实时编辑!这是一个实际的GIF:Chrome DevTools: Live edit running Node.js code with hotswapping

相关问题