拥有一个文件(我们称之为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>
为什么最后两行出现?
它看起来像一个错误,但也许有另一个解释?
答案 0 :(得分:3)
它只显示了在流程结束之前调试的部分代码。您在节点中编写的代码将被放入一个函数中,该函数为该范围提供所需的所有变量。这就是他们如何解决整个全局范围变量问题,因为每个模块都有自己的“全局”范围。
使用node-inspector进行调试时,可以看到一个很好的例子。它允许您在调试时单击项目的资产。
我创建了一个以console.log("Hello, world!");
为唯一行的script.js文件。查看节点检查器内部的内容: