如何使用node-inspector调试Sails.js应用程序?

11

为了使用 node-inspector 进行调试,我需要使用 node --debug 命令启动我的应用程序。到目前为止,我只使用过 sails lift 启动我的 Sails.js 应用程序,因此我不确定如何使用正常的 node 命令启动我的应用程序。


可能是重复的问题:如何在Windows上调试基本的Node.js应用程序(非HTTP) - Francisco Corrales Morales
5个回答

9

如果您在项目中安装了 sails,则可以通过 node app.js --debug 启动 sails 项目,而不仅仅是全局安装。转到项目的根目录并运行 npm install。Sails 应该已经在您的 package.json 中,因此应该安装到您的项目目录中。


2
请注意,还涉及到更多的步骤,比如启动node-inspector:https://dev59.com/questions/Pmgu5IYBdhLWcg3wRlP0#11463248 - dbasch

7
从Sails v0.10.x起,您可以使用sails debug代替sails lift

Sails用0.10还是0.11版本?你能找到参考文献吗? - theblang
1
对于 sails 1.0 及更新版本的 node,请使用 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.com
1
谢谢@CiroSantilli。原始答案对我无效,您的评论起作用了。 - darkhipo

2

文档位于:https://sailsjs.com/documentation/reference/command-line-interface/sails-inspect。这可能是为了与更新的 node -inspect 匹配。 - Ciro Santilli OurBigBook.com

1

node 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 --inspectnodemon inspect

您可以在使用nodemon时使用这些选项来进行检查,它会在文件保存时自动重新加载应用程序:如何自动重新加载Sails.js应用程序以进行代码更改?

这些选项类似于node inspectnode --inspectnode inspect适用于debugger语句,而node --inspect适用于Chrome调试器。

特别是与“为Node打开专用DevTools”功能一起使用时非常有用:我可以让node --inspect自动打开Chrome吗?

nodemon inspect有点烦人,因为每次应用程序更改并重新启动服务器后都需要continue。TODO 找到一个解决方法。


1

你尝试过使用node-webkit来运行你的node.js应用程序吗?这是我们在工作中用来调试我们的node.js服务器应用程序的工具。它是基于chromium的非常有用的运行时,你可以使用熟悉的断点、堆栈跟踪、变量检查等功能来检查你的代码,而无需依赖于node-inspector(说实话我觉得很难用)。

你所做的是,不使用控制台命令“node your-app.js”,而是设置node-webkit来启动你的应用程序,运行webkit,然后打开它的控制台(与Chrome浏览器中的控制台相同),从那里你可以打开你的源文件并像任何其他客户端JavaScript代码一样开始调试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接