节点重新启动时如何重新启动节点检查器?
我使用节点检查器很多 。 当我编辑我的代码并重新启动时,我得到了不可避免的
从目标分离
新stream程启动时出错。 我总是不得不去查找选项卡节点检查器打开并重新启动它。
我想知道是否可以避免这一点。 例如,从节点向node-inspector发送一条消息,告诉运行node-inspector的浏览器选项卡重新启动。
从这个SO稍微交叉发布,并更新了这个主题。
Chrome(58)标准开发者窗格中有一个链接,它打开了一个新的“无头”窗口,无论应用程序是如何重build/重新启动的,都可以神奇地重新连接到节点检查。
我正在运行Express.js,例如DEBUG=myapp:* supervisor -- --inspect bin/www &
并且发现使用正常的引导URL不断变化很难重新连接。 但是这个Chrome工具整天都在可靠地重新连接。
在Threads> Main下,你应该看到“Node instance available。Connect”。
我发现新窗口不太可用,因为我更喜欢一个标签,但自动重新连接是如此可靠,我会忍受!
我发现唯一的缺点是它重新连接清除所有断点。
当debugging过程重新启动时,您不必重新启动Node Inspector进程。 您只需使用Node Inspector GUI重新加载浏览器选项卡即可。
恐怕目前没有简单的方法来自动重新加载Node Inspector GUI页面,当您的debugging进程重新启动。 在Node Inspector后端中可能会执行某种活动的轮询,但这是一个必须由某人执行的function。
根据您正在debugging的应用程序的哪一部分,您可能会发现有用的function“现场编辑”。 它允许您从Node Inspector编辑您的代码,将更改保存到Node / V8运行时并可能还回到磁盘。 这样,在进行更改之后,您不必重新启动已debugging的进程。
此function已在Node Inspector中实施并在v0.7.0中发布。 请参阅问题#266了解更多详情。
此function已在Node Inspector中实施并在v0.7.0中发布。 请参阅问题#266了解更多详情。
以前的答案是一个解决方法:
我写了一个简单的js脚本来执行greasemonkey / tampermonkey。
该脚本在地址为http://127.0.0.1:8080/debug?port=5858
标签上查找“脱离目标”消息。 一旦消息可见,页面将重新加载直到消失。
此解决scheme是一种解决方法。 这不应该被认为是理想的解决scheme(我同意Miroslav),下面是:
// ==UserScript== // @name Reload node-inspector tab // @version 0.1 // @description looks for the detached message and auto reload the page // @match http://127.0.0.1:8080/debug?port=5858 // ==/UserScript== var exec = function(){ setTimeout(function(){ var el = document.getElementsByClassName("help-window-title")[0]; if(el && el.innerHTML == "Detached from the target"){ location.reload(); } else { setTimeout(function(){ exec(); }, 1000); } }, 1000); }; exec();
当然,这很容易。 首先安装npm install -g nodemon
然后你可以运行node-inspector & nodemon --debug app.js
(用你的脚本的名字replaceapp.js )
虽然在语法错误,您仍然可能需要手动重新加载节点检查器选项卡