如何使用另一个端口在 Visual Studio 代码中调试 Serverless Offline?

How to debug Serverless Offline in Visual Studio Code using another port?

我有两个 Serverless Offline "servers",我需要同时在本地 运行。

所以我需要更改其中一台服务器的端口。

我 运行 一台服务器使用 Visual Studio 代码调试器。服务器的配置在 launch.json 个文件中。

如何更改 Serverless Offline 应用程序的端口,以便我可以 运行 它与另一个使用 VS Code 调试器的 Serverless Offline 应用程序并行?

通过将以下行添加到 serverless.yml 文件解决:

custom:
    serverless-offline:   ## add this two lines
        port: 4000        ## bellow "custom:" line

如果您使用的是 windows,请更新 vscode launch.json 和 package.json,如下所示:

// launch.json
{

    "version": "0.2.0",

   "configurations": [

       {

           "type": "node",

           "request": "launch",

           "name": "Debug Serverless",

           "cwd": "${workspaceFolder}",

           "runtimeExecutable": "npm",

           "runtimeArgs": [

               "run",

               "debug"

           ],

           "outFiles": [

               "${workspaceFolder}/handler.js"

           ],

           "port": 9229,

           "sourceMaps": true

       }

   ]

}

// package.json
....
"scripts": {
    "debug": "SET SLS_DEBUG=* && node --inspect %USERPROFILE%\AppData\Roaming\npm\node_modules\serverless\bin\serverless offline -s dev"
  }

如果在 linux 上,您的调试脚本将是:

// package.json
....
"scripts": {
    "debug": "export SLS_DEBUG=* && node --inspect /usr/local/bin/serverless offline -s dev"
  }

我正在使用 Linux 系统,这是我的 launch.json 和 package.json 文件的样子。

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "pwa-node",
            "request": "launch",
            "name": "Debug Serverless",
            "cwd": "${workspaceFolder}",
            "runtimeExecutable": "npm",
            "runtimeArgs": [
                "run",
                "debug"
            ],
           "sourceMaps": true,
           "attachSimplePort": 9229
        }
    ]
}

package.json

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "debug": "node --inspect node_modules/serverless/bin/serverless offline -s dev"
  },