如何在重新启动节点时重新启动节点检查程序?

时间:2013-09-17 15:06:33

标签: javascript node.js node-inspector

我使用节点检查器很多。当我编辑我的代码并重新启动时,我得到了不可避免的

与目标分离

新进程启动时出错。我总是要找到选项卡节点检查器已打开并重新启动它。

我想知道我是否可以避免这种情况。例如,从节点向节点检查器发送消息,告诉运行node-inspector的浏览器选项卡重新启动。

5 个答案:

答案 0 :(得分:5)

重新启动调试过程时,您不必重新启动Node Inspector进程。您需要做的就是使用Node Inspector GUI重新加载浏览器选项卡。

我担心在重新启动调试过程时,没有简单的方法可以自动重新加载Node Inspector GUI页面。可能在Node Inspector后端执行某种活动轮询,但这是一个必须由某人实现的功能。

根据您正在调试的应用程序的哪个部分,您可能会发现“实时编辑”功能很有用。它允许您从Node Inspector编辑代码,将更改保存到Node / V8运行时,也可能返回磁盘。这样,您就不必在进行更改后重新启动已调试的进程。


此功能已在Node Inspector中实现,并在v0.7.0中发布。有关详细信息,请参阅issue #266

答案 1 :(得分:4)

此功能已在Node Inspector中实现,并在v0.7.0中发布。有关详细信息,请参阅issue #266

上一个回答这是一个解决方法:

我写了一个简单的js脚本,由greasemonkey / tampermonkey执行。

该脚本在地址为http://127.0.0.1:8080/debug?port=5858的选项卡上查找消息“与目标分离”。一旦消息可见,页面就会重新加载,直到它消失。

此解决方案是一种解决方法。它不应该被认为是理想的解决方案(我同意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();

答案 2 :(得分:1)

this SO略微交叉发布,并对此主题进行了更新。

Chrome(58)标准开发人员窗格中有一个链接,可以打开一个新的"无头"无论应用程序如何重建/重新启动,窗口都会神奇地重新连接到节点检查。

我正在运行Express.js,例如DEBUG=myapp:* supervisor -- --inspect bin/www &并发现很难使用正常的guid-laden URL重新连接,该URL会不断变化。但是这个Chrome工具整天可靠地重新连接。

在主题下>主要,您应该看到"节点实例可用。连接" enter image description here

我发现新窗口不太可用,因为我更喜欢标签,但自动重新连接非常可靠,我会接受它!

我发现的唯一缺点就是它重新连接时会清除所有断点。

答案 3 :(得分:0)

当然,这很容易。首先安装npm install -g nodemon

然后您可以运行node-inspector & nodemon --debug app.js

(将 app.js 替换为您的脚本名称)

虽然在语法错误时您仍可能需要手动重新加载node-inspector标签

答案 4 :(得分:0)

第1步。请勿使用node-inspector-chrome小组已经发布了新作品,该作品无法与node-inspector模块集成。如果您坚持使用node-inspector,那么继续前进,您将错过这些功能。

步骤2。要运行脚本,请使用:nodemon --inspect-brk yourScript.js-brk部分在代码的第一行创建一个自动断点。如果尚未安装nodemon,请首先使用:npm install -g nodemon

第3步。然后打开chrome应用程序,打开chrome开发工具(F12Ctrl+Shift+I),然后单击节点图标,如下所示: how to restart node.js debugger when saving a file in your project

第4步。。对yourScript.js进行更改-chrome devtools会针对您在项目中所做的每个更改自动重新加载调试器。这是因为nodemon监视项目文件夹并重置过程-这将重置调试器连接。

更多内容在Debugging in 2017 with Node.js-我在2019年8月29日写这篇文章,但两年后仍然有意义。