Node.js NodeJS调试器中将显示更多行
拥有一个包含以下内容的文件(我们称之为Node.js NodeJS调试器中将显示更多行,node.js,debugging,Node.js,Debugging,拥有一个包含以下内容的文件(我们称之为script.js): console.log("Hello World!"); (因此,一行上有一个console.log) 运行node script.js它输出“Hello World!” 问题是当我运行节点调试脚本.js时。我得到以下输出: $ node debug script.js < debugger listening on port 5858 connecting... ok break in script.js:1 1 co
script.js
):
console.log("Hello World!");
(因此,一行上有一个console.log)
运行node script.js
它输出“Hello World!”
问题是当我运行节点调试脚本.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>
$node debug script.js
<调试器正在端口5858上侦听
连接。。。好啊
break-in-script.js:1
1控制台日志(“你好,世界!”);
2.
3 });
调试>
为什么会出现最后两行
对我来说,这看起来像一个bug,但可能还有另一种解释?它只是显示了您在进程结束前调试的部分代码。您在节点中编写的代码会被放入一个函数中,该函数为您提供该范围内所需的所有变量。这就是他们绕过整个全局范围变量问题的方法,因为每个模块都有自己的“全局”范围 在调试时可以看到一个很好的例子。它允许您在调试时单击项目的资产 我用
console.log(“你好,世界!”)创建了一个script.js文件代码>作为唯一一行。查看节点检查器内部的外观:
要安装:
npm安装-g节点检查器
打开终端,键入“节点检查器”,应用程序将开始运行
导航到http://localhost:8080/debug?port=58581
。您将看到如下屏幕:
现在在另一个终端窗口中运行应用程序节点--debug brk script.js
<代码>--debug brk
只会导致节点在应用程序的第一行中断,直到附加了调试器
我知道Node会自动将您的代码包装到函数(即模块模式)中,这可以解释最后一行“}”);“但我很惊讶您没有看到新的第一行“function(exports){”太多了。@HectorCorrea它只在遇到断点的那一行之后显示了几行。你在哪里看到这个?这是。有关如何安装和使用它,请参阅我的编辑:)gif屏幕记录!;-)很好。谢谢!没问题。它们是我最喜欢的快速显示内容的新方式:)