【问题标题】:vscode launching function app in lerna monorepolerna monorepo中的vscode启动功能应用程序
【发布时间】:2018-11-20 20:49:57
【问题描述】:

首先,我有一个结构如下的 monorepo:

repo-name/
    packages/
        backend/
        frontend/
    .vscode/

后端是一个 Azure 函数应用,其结构如下:

backend/
    functions/
        funcOne/
        funcTwo/
    scripts/
        start-debug.sh
    package.json

其次,对于backendpackage.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 扩展,可以帮助您在处理基于正则表达式和颜色的服务器端文件和客户端文件时轻松区分。也许对你有帮助! marketplace.visualstudio.com/…

标签: azure visual-studio-code vscode-debugger lerna monorepo


【解决方案1】:

好的,这是对我有用的 VSCode 中的启动配置:

{
  "type": "node",
  "request": "attach",
  "name": "Attach by Process ID",
  "protocol": "legacy",
  "processId": "${command:PickProcess}",
  "port": 9229
},

我的步骤是

1) 转到我的backend repo,然后运行npm run debug,它运行我的start-debug.sh 脚本。

2) 在 VS Code 中,我附加到 nodejsWorker 中的 azure-function-core-tools

现在,我可以逐步执行我的函数了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-12
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    相关资源
    最近更新 更多