【问题标题】:Debugging a JavaScript code run through ngrok调试通过 ngrok 运行的 JavaScript 代码
【发布时间】:2020-11-04 12:56:00
【问题描述】:

我正在通过 Windows Power Shell 中的 ngrok 隧道运行 JavaScript 代码,因为我将此代码用作 Dialogflow 中的 webhook。

我现在想调试代码,因为我想逐步了解它是如何工作的,接收和处理从 Dialogflow 获取的信息。

但是,当我使用代码编辑器的调试选项(在我的例子中是 Visual Studio Code)时,它唯一要做的就是在浏览器中打开一个窗口,显示连接成功,但它在那里被冻结并且永远不会到达断点。

有什么办法可以调试代码,或许我可以在Dialogflow中输入信息,看看JavaScript代码是如何接收并一步步处理的?

很抱歉没有发布任何代码,但我的问题不在于代码本身。

提前致谢!

编辑:

我有以下 launch.json 文件:

{"version": "0.2.0",
"configurations": [
    {
        "type": "chrome",
        "request": "launch",
        "name": "Launch Chrome against localhost",
        "url": "http://localhost:8080",
        "webRoot": "${workspaceFolder}"
    }]}

当我开始调试时,我没有收到任何错误消息。按下 F5 后,我的浏览器 (Chrome) 打开并显示连接成功:

所以我猜隧道没问题,但我也没有得到任何控制台输出。就像 VSCode 只是打开浏览器,忘记了调试。

【问题讨论】:

  • 什么是“npm 隧道”?
  • 我用来连接本地主机的连接
  • 您添加的屏幕截图显示了ngrok 工具的一些输出。这与npm 包管理器无关。
  • “我正在通过隧道运行 JavaScript 代码”到底是什么意思?您是如何使用 javascript 代码启动实际服务器的?这才是重要的,而不是事物如何与之联系。
  • 另外,您在尝试调试时是否收到错误消息?如果不是,哪些部分起作用?它只是断点,但你得到控制台输出好吗?是不是只有来自隧道的请求,而本地请求却按预期打断点?

标签: javascript debugging visual-studio-code vscode-debugger


【解决方案1】:

当我开始调试时,我的浏览器 (Chrome) 会打开

是的,这就是罪魁祸首。您选择的调试配置用于调试客户端 javascript,因此它会打开浏览器并连接到网页的调试器。那里没有发生任何有趣的事情。

您需要change your configuration to debug node.js instead。另请参阅VS Code recipe for debugging with nodemon 作为示例。

【讨论】:

  • 谢谢!看起来还蛮好用的!我将浏览这些链接中的信息:)
猜你喜欢
  • 2012-10-23
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多