【问题标题】:Debugging server side with node.js使用 node.js 调试服务器端
【发布时间】:2015-10-15 05:31:38
【问题描述】:

我有一个关于调试的迫切问题,当我编写 Javascript 客户端时,我可以转到 Chrome 的控制台并跟踪我的变量和对象等,以更好地查看我的代码发生了什么。我只是无法理解我们如何在服务器端(节点 js)做同样的事情?假设我的前端向我的快递服务器提交了一个表单,我该如何检查例如 req 对象是否收到了它?我在哪里检查变量和对象(调试)服务器端代码?我绝对不能在浏览器的控制台上执行此操作,因为代码存在并在服务器端执行,因此我无法通过浏览器的控制台访问服务器端对象等。

【问题讨论】:

    标签: javascript node.js express mean-stack


    【解决方案1】:

    你仍然可以使用 console.log()。它将打印到您运行服务器的屏幕上。但是,它不如使用调试器遍历代码好,您可以设置断点并执行调试器可以执行的许多其他操作。我已经使用了 webstorm 的调试器和节点检查器。

    您可能想查看node-inspector。调试器类似于Chrome's Dev-Tool,您可能很熟悉。下面的链接提供了从安装到教程的所有内容。

    https://github.com/node-inspector/node-inspector

    【讨论】:

      【解决方案2】:

      Node 带有REPL (Read-Eval-Print-Loop)。它的工作方式有点像 chrome 的控制台,但需要一些配置和设置它的范围。

      这里是一个例子:http://derickbailey.com/2014/07/02/build-your-own-app-specific-repl-for-your-nodejs-app/

      【讨论】:

        【解决方案3】:

        如果您对变量和对象执行 console.log,您可以在运行服务器的命令提示符下看到它

        【讨论】:

          【解决方案4】:

          console.log() 有 2 种:

          1. 当它写入客户端代码时。它会在您的浏览器上显示消息。
          2. 当它写入服务器代码时。它将在您的编辑器(例如 Webstorm)上控制消息。

          建议使用 debug 来检查变量和对象,而不是使用 console.log(),因为这样更方便。

          【讨论】:

            【解决方案5】:

            您可能需要考虑webstorm。它内置了对 nodejs 的advanced debugging 支持,允许您像在 Chrome 的调试工具中一样设置断点。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-06-18
              • 2011-06-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-08-16
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多