[node.js] 기본 node.js 프로젝트의 “속성 ‘프로그램’이 존재하지 않습니다.”

간단한 node.js 응용 프로그램을 만들었습니다 ( https://azure.microsoft.com/en-us/blog/visual-studio-code-and-azure-app-service-a-perfect-fit/의 소스 코드 )

var http = require('http');
http.createServer(function (req, res) {
    console.log('Got request for ' + req.url);
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('<h1>Hello Code and Azure Web Apps!</h1>');
}).listen(process.env.PORT);

그리고 클릭 VSCode 생성 launch.json :

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/app.js",
            "stopOnEntry": false,
            "args": [],
            "cwd": "${workspaceRoot}",
            "preLaunchTask": null,
            "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
        }
    ]
}

그리고 여전히 시작되었을 때 나는 다음을 본다.

‘프로그램’속성이 없습니다.

아무도 잘못된 것을 도울 수 있습니까?



답변

난 당신이 필요하다고 생각 ${workspaceRoot}/server.js하지 ${workspaceRoot}/app.js위해 program. 사용중인 코드에 app.js가 없습니다. 바로 이것이 (잘못 표현 된) 오류가 알려주는 것입니다.


답변

VS Code가 launch.json 파일이 포함 된 .vscode 디렉터리를 배치하기 때문에이 문제가 발생했습니다. 하나의 디렉토리에 배치되었으므로 launch.json 파일에 정의 된대로 경로에 디렉토리를 추가해야했습니다.

“프로그램”: “$ {workspaceRoot} /myDir/app.js”,

이게 도움이 되길 바란다.


답변

내가 만난 또 다른 문제는 Using\\Backslashes\\Like\\SoWindows에서 경로가 구성 되고 제대로 작동했지만 Mac에서는 위의 오류가 발생했습니다.

(해결책 :로 변경 /)


답변

오류는 코드 경로가 잘못되었음을 나타냅니다.

VSCode는 구성 파일 “.vscode / launch.json”의 상위 디렉터리를 “$ {workspaceRoot}”또는 “$ {workspaceFolder}”로 정의합니다.

따라서 예를 들어 “myproject / subfolder / main.js”파일을 실행하려면 “myproject / .vscode / launch.json”을 다음과 같이 구성해야합니다.

"program": "${workspaceRoot}/subfolder/main.js"

구성

"program": "${workspaceRoot}/myproject/subfolder/main.js"

은 실수이며 “속성 ‘프로그램’이 존재하지 않습니다”라는 오류가 발생합니다.


답변

나는 오늘이 문제를 파악하기 위해 몇 시간을 허비했다. 나를 위해 일한 것은 기존 launch.json을 삭제하고 응용 프로그램을 실행하는 것이 었습니다.이 경우 환경을 선택하라는 메시지가 표시됩니다. 이것은 프로그램 경로를 업데이트 한 새로운 launch.json을 생성했습니다.


답변

오류는 이상적으로 ‘프로그램 속성에 지정된 파일이 존재하지 않습니다’로 읽어야합니다. VSCode 1.30.2부터 오류와 함께 경로가 표시됩니다.

제 경우
"program": "${workspaceFolder}\\${file}"에는 경로가 다음과 같았습니다.c:\dir\c:\dir\file.js

${workspaceFolder}개별 파일을 디버깅 할 수 있기를 원했기 때문에 제거하여이를 수정했습니다 .


답변

나는 같은 문제가 있었다. 제 경우에는 launch.json에 다음 줄이 있습니다.

"program": "${workspaceFolder}\\index.js"

디버그하려고 시도한 활성 코드는 app_v2.js에 있었으므로 다음으로 업데이트 한 다음 디버그가 작동했습니다.

"program": "${workspaceFolder}\\app_v2.js"