在 VS Code 中调试 Netlify 函数

Kyl*_*Mit 5 node.js node-inspector visual-studio-code netlify-function

我试图在 netlify 函数内部设置一个断点,该函数通过netlify dev以下设置执行:

设置

安装Netlify-CLI

npm install netlify-cli -g
Run Code Online (Sandbox Code Playgroud)

netlify.toml

[build]
  functions = "functions/"
Run Code Online (Sandbox Code Playgroud)

functions/hello.js

[build]
  functions = "functions/"
Run Code Online (Sandbox Code Playgroud)

这是一个带有设置的示例项目

跑步

您应该能够通过以下方式正常运行netlify dev

Netlify 开发截图

这将在以下地址公开该函数:

http://localhost:8888/.netlify/functions/hello?name=Kyle
Run Code Online (Sandbox Code Playgroud)

调试尝试

Launch.config

在 VSCode 中,您应该能够使用launch.config. 我尝试过以下配置

exports.handler = async(event, context) => {
    let output = `Hello, ${event.queryStringParameters.name}`
    return { statusCode: 200, body: output};
}
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

http://localhost:8888/.netlify/functions/hello?name=Kyle
Run Code Online (Sandbox Code Playgroud)

节点--inspect

有很多利用节点--inspectswitch的示例,但我不知道如何让它与 VS Code 断点一起使用。

其他主题

Kyl*_*Mit 1

Tyson Matanich 有什么方法可以调试函数吗?,您可以执行以下操作:

包.json

{
  "scripts": {
    "debug": "netlify dev --inspect",
  }
}
Run Code Online (Sandbox Code Playgroud)

启动.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Launch Node",
      "type": "pwa-node",
      "request": "launch",
      "runtimeArgs": ["run-script", "debug"],
      "runtimeExecutable": "npm",
      "skipFiles": ["<node_internals>/**"]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

示例截图