node.js – 运行工头从visual studio代码launch.json开始

目前,我通过在命令行输入foreman start来运行我的解决方案,并且工作正常.我正在尝试使用visual studio代码调试我的代码.为此,我创建了一个launch.json文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/package.json",

            "stopOnEntry": false,
            "args": [],
            "cwd": "${workspaceRoot}",
            "preLaunchTask": "start",
            "runtimeExecutable": null,
            "runtimeArgs": [
                "--nolazy"
            ],
            "env": {
                "NODE_ENV": "development"
            },
            "externalConsole": false,
            "sourceMaps": false,
            "outDir": null
        },
        {
            "name": "Attach",
            "type": "node",
            "request": "attach",
            "port": 5858,
            "address": "localhost",
            "restart": false,
            "sourceMaps": false,
            "outDir": null,
            "localRoot": "${workspaceRoot}",
            "remoteRoot": null
        }
    ]
}

我创建了一个tasks.json文件,试图从那一点开始程序:

{
    "version": "0.1.0",
    "command": "start",
    "isShellCommand": true,
    "args": [
        "--no-color"
    ],
    "tasks": [
        {
            "taskName": "test",
            "args": [],
            "isTestCommand": true
        },
        {
            "suppressTaskName": true,
            "taskName": "start",
            "args": [
                "foreman",
                "start"
            ],
            "isBuildCommand": true
        }
    ]
}

当我正常运行工头时,我看到这个输出:

$foreman start
12:00:59 web.1          | started with pid 22641
12:00:59 workers.1      | started with pid 22642
12:00:59 intermediary.1 | started with pid 22643
12:01:00 web.1          | [INFO] Node app is running at localhost: 3777

如果我在当前状态下调试,控制台的输出是:

Failed to launch external program start --no-color.
spawn start ENOENT

如果我改变我的程序指向gulp:

"program": "${workspaceRoot}/node_modules/.bin/gulp",

它给了我一些更有希望的东西,但因为它不是工头,它不会运行我需要的一切.

node --debug-brk=16751 --nolazy node_modules/.bin/gulp 
Debugger listening on port 16751
[16:23:17] Using gulpfile ~/Git/backend/gulpfile.js
[16:23:17] Starting 'watch'...
[16:23:18] Finished 'watch' after 125 ms
[16:23:18] Starting 'default'...
[16:23:18] Finished 'default' after 13 μs

有谁知道如何从Visual Studio代码调试工头开始?

最佳答案 这将作为shell命令运行foreman start.按F1键,输入Run Task,Enter并选择开发任务.

tasks.json

{
    "version": "0.1.0",
    "command": "foreman",
    "isShellCommand": true,
    "tasks": [
        {
            "suppressTaskName": true,
            "taskName": "development",
            "args": [
                "start"
            ],
            "isWatching": true
        }
    ]
}

如果要调试Web应用程序,您应该查看vscode-chrome-debug,如果它是节点应用程序,则必须将应用程序的入口点设置为launch.json“program”中的程序:“${workspaceRoot} /app.js “

点赞