为了使用node-inspector
进行调试,我需要使用node --debug
命令启动我的应用程序。到目前为止,我只使用sails lift
启动我的Sails.js应用程序,所以我不确定如何使用正常的node
命令启动我的应用程序。
从Sails v0.10.x开始,你可以用sails debug
代替sails lift
。
因此,如果您在项目中安装了sails
,那么您实际上可以使用node app.js --debug
启动sails
项目,而不是仅在系统范围内。转到项目的根目录并运行npm install
。 Sails应该已经在你的package.json
中,因此应该安装到你的项目目录中。
您是否尝试过使用node-webkit来运行node.js应用程序?这是我们在工作中用于调试node.js服务器应用程序的内容。它是非常有用的基于铬的运行时,您可以使用熟悉的断点,堆栈跟踪,变量检查等来检查您的代码,而不必依赖节点检查器(我觉得很难用它来说实话)。
您所做的不是使用控制台命令'node you-app.js'而是设置node-webkit来启动您的应用程序,运行webkit然后打开它的控制台(这与Chrome浏览器中的控制台相同)并从那里开始可以像打开任何其他客户端JavaScript代码一样打开源文件并开始调试。
sails inspect
自Sails v1.0以来
从sails v1.0开始,对于较新的Node.js,不推荐使用sails debug
,而应该使用sails inspect
。
这记录在:https://sailsjs.com/documentation/reference/command-line-interface/sails-inspect,可能是为了匹配更新的node --inspect
界面。
node inspect
您还可以使用命令行调试器:
node inspect app.js
这在开始时停止,所以继续:
c
现在,当你的代码带有声明时:
debugger
执行后,您会照常进入Node CLI调试器。
在Sail v1.1,Node v10.15.1,Ubuntu 18.10上测试。
nodemon --inspect
和nodemon inspect
您可以使用这些来检查使用nodemon
,它会自动重新加载应用程序的文件保存:Auto reloading a Sails.js app on code changes?
这些选项类似于node inspect
和node --inspect
:node inspect
适用于debugger
语句,node --inspect
适用于Chrome调试器。
特别适用于“Open Open DevTools for Node”功能:Can I get node --inspect to open Chrome automatically
nodemon inspect
有点烦人,因为每次你做任何应用程序更改它需要一个continue
并且nodemon
重新启动服务器。 TODO找到了解决方法。