NodeJSdebugging器中显示更多行

有一个文件(让我们称之为script.js )与以下内容:

 console.log("Hello World!"); 

(所以,一行与一个console.log上)

运行node script.js它输出"Hello World!"

问题是当我运行node debug script.js 。 我得到以下输出:

 $ node debug script.js < debugger listening on port 5858 connecting... ok break in script.js:1 1 console.log("Hello World!"); 2 3 }); debug> 

为什么最后两行出现?

它看起来像一个错误,但也许有另一种解释?

这只是显示过程结束之前您正在debugging的代码的一部分。 您在节点中编写的代码将被放到一个函数中,该函数将该函数所需的所有variables提供给该函数。 这是他们如何解决整个全局范围variables问题,因为每个模块都有自己的“全局”范围。

使用node-inspector进行debugging时可以看到一个很好的例子。 它允许您在debugging时点击项目的资源。

我用console.log("Hello, world!");创build了一个script.js文件console.log("Hello, world!"); 作为唯一的线路。 看看它在节点检查器里面的样子:


要安装节点检查器 :

  1. npm install -g node-inspector

  2. 打开一个terminal,input“node-inspector”,应用程序将开始运行。

  3. 导航到http://localhost:8080/debug?port=58581 。 你会看到这样的屏幕:

  4. 现在在另一个terminal窗口中运行你的应用程序node --debug-brk script.js--debug-brk只会导致节点在应用程序的第一行中断,直到连接了一个debugging器。

  5. 刷新节点检查器页面,然后可以开始debugging:D