vscode 在 lerna monorepo 中启动函数应用程序
vscode launching function app in lerna monorepo
首先,我有一个结构如下的 monorepo:
repo-name/
packages/
backend/
frontend/
.vscode/
后端是一个 Azure 函数应用,其结构如下:
backend/
functions/
funcOne/
funcTwo/
scripts/
start-debug.sh
package.json
其次,对于backend
的package.json
,我有一个脚本:
"debug": "npm run build && FUNCTION_APP_PORT=7071 ./scripts/start-debug.sh",
start-debug.sh
脚本如下所示:
#!/bin/bash
set -e
cd ./functions
func extensions install
func host start -p $FUNCTION_APP_PORT --debug VSCode
我正在尝试编写一个启动配置,以便我可以在 VSCode 中调试我的函数。
我已经根据我在那里发现的内容尝试了多种变体,但似乎没有任何效果。有没有人有什么建议?
这是我最近的尝试:
{
"name": "Launch Backend Functions",
"type": "node",
"request": "launch",
"address": "localhost",
"protocol": "inspector",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/lerna",
"runtimeArgs": [
"exec",
"--scope",
"actual-name-of-backend-package",
"--",
"npm"
],
"args": ["run", "debug"],
"port": 1234
}
好的,这是 VSCode 中对我有用的启动配置:
{
"type": "node",
"request": "attach",
"name": "Attach by Process ID",
"protocol": "legacy",
"processId": "${command:PickProcess}",
"port": 9229
},
我的步骤是
1) 转到我的 backend
存储库,然后 运行 npm run debug
运行 是我的 start-debug.sh
脚本。
2) 在 VS Code 中,我附加到 azure-function-core-tools
中的 nodejsWorker
。
现在,我可以单步执行函数了。
首先,我有一个结构如下的 monorepo:
repo-name/
packages/
backend/
frontend/
.vscode/
后端是一个 Azure 函数应用,其结构如下:
backend/
functions/
funcOne/
funcTwo/
scripts/
start-debug.sh
package.json
其次,对于backend
的package.json
,我有一个脚本:
"debug": "npm run build && FUNCTION_APP_PORT=7071 ./scripts/start-debug.sh",
start-debug.sh
脚本如下所示:
#!/bin/bash
set -e
cd ./functions
func extensions install
func host start -p $FUNCTION_APP_PORT --debug VSCode
我正在尝试编写一个启动配置,以便我可以在 VSCode 中调试我的函数。
我已经根据我在那里发现的内容尝试了多种变体,但似乎没有任何效果。有没有人有什么建议?
这是我最近的尝试:
{
"name": "Launch Backend Functions",
"type": "node",
"request": "launch",
"address": "localhost",
"protocol": "inspector",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/lerna",
"runtimeArgs": [
"exec",
"--scope",
"actual-name-of-backend-package",
"--",
"npm"
],
"args": ["run", "debug"],
"port": 1234
}
好的,这是 VSCode 中对我有用的启动配置:
{
"type": "node",
"request": "attach",
"name": "Attach by Process ID",
"protocol": "legacy",
"processId": "${command:PickProcess}",
"port": 9229
},
我的步骤是
1) 转到我的 backend
存储库,然后 运行 npm run debug
运行 是我的 start-debug.sh
脚本。
2) 在 VS Code 中,我附加到 azure-function-core-tools
中的 nodejsWorker
。
现在,我可以单步执行函数了。