为了使用 node-inspector
进行调试,我需要使用 node --debug
命令启动我的应用程序。到目前为止,我只使用过 sails lift
启动我的 Sails.js 应用程序,因此我不确定如何使用正常的 node
命令启动我的应用程序。
如果您在项目中安装了 sails
,则可以通过 node app.js --debug
启动 sails
项目,而不仅仅是全局安装。转到项目的根目录并运行 npm install
。Sails 应该已经在您的 package.json
中,因此应该安装到您的项目目录中。
sails debug
代替sails lift
。sails inspect
进行检查:https://dev59.com/MWEi5IYBdhLWcg3wX7XP#49676411,否则会出现 https://github.com/balderdashy/sails/issues/4593 的错误提示:“DeprecationWarning: node --debug and node --debug-brk are invalid.” - Ciro Santilli OurBigBook.comsails inspect
自Sails v1.0起
从Sails v1.0开始,sails debug
已经不再适用于新版本的Node.js,你应该使用sails inspect
。
这在文档中有说明:https://sailsjs.com/documentation/reference/command-line-interface/sails-inspect,并且可能是为了匹配更新的node --inspect
接口。
node -inspect
匹配。 - Ciro Santilli OurBigBook.comnode inspect
您也可以使用命令行调试器:
node inspect app.js
这里停止了,所以要继续:
c
And now, when your code with a statement:
debugger
当执行时,您会像往常一样进入Node CLI调试器。
在Sail v1.1、Node v10.15.1和Ubuntu 18.10上进行测试。
nodemon --inspect
和nodemon inspect
您可以在使用nodemon
时使用这些选项来进行检查,它会在文件保存时自动重新加载应用程序:如何自动重新加载Sails.js应用程序以进行代码更改?
这些选项类似于node inspect
和node --inspect
:node inspect
适用于debugger
语句,而node --inspect
适用于Chrome调试器。
特别是与“为Node打开专用DevTools”功能一起使用时非常有用:我可以让node --inspect自动打开Chrome吗?
nodemon inspect
有点烦人,因为每次应用程序更改并重新启动服务器后都需要continue
。TODO 找到一个解决方法。
你尝试过使用node-webkit来运行你的node.js应用程序吗?这是我们在工作中用来调试我们的node.js服务器应用程序的工具。它是基于chromium的非常有用的运行时,你可以使用熟悉的断点、堆栈跟踪、变量检查等功能来检查你的代码,而无需依赖于node-inspector(说实话我觉得很难用)。
你所做的是,不使用控制台命令“node your-app.js”,而是设置node-webkit来启动你的应用程序,运行webkit,然后打开它的控制台(与Chrome浏览器中的控制台相同),从那里你可以打开你的源文件并像任何其他客户端JavaScript代码一样开始调试。