나는 다음과 같은 답변을 확인하지했습니다와 디버그 Node.js를 7 비동기/기다리고 있습니다 타이프 라이터 + VSCode
How to debug async/await in visual studio code?
그러나 어느 쪽도 내 문제를 해결했다.
끔찍한 Typescript transpiled 버전없이 Node.js v7.4.0을 사용하여 VSCode에서 기본 Async/Await을 디버깅 할 수 있기를 원합니다. 나는 올바른 코드 즉, __awaiter 등을 출력하도록 Typescript를 얻을 수 있습니다. 그러나 일단 코드를 디버깅하려고하면 모든 변환 된 상태 머신 코드가 나타납니다! 그래서 코드를 디버깅 할 수 있습니다. 디버그하려는 코드가 아닙니다. 디버깅 된 코드가 transpiled state machine 코드를 갖는 것을 막기 위해 어쨌든 존재합니까? 여기
는 내가 가지고있는 설정 파일은 다음과 같습니다
tsconfig.json 더 나는 약에있어 무엇을 설명하기 위해
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"noImplicitAny": false,
"sourceMap": true,
"outDir": "lib",
"noUnusedParameters": false,
"noUnusedLocals": false,
"skipLibCheck": true
//"importHelpers": true
},
"exclude": [
"node_modules"
]
}
launch.json
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/jest-cli/bin/jest.js",
"stopOnEntry": false,
"cwd": "${workspaceRoot}",
//"preLaunchTask": "tsc",
"runtimeExecutable": null,
"args": [
"--runInBand"
],
"runtimeArgs": [
"--harmony-async-await",
"--no-deprecation"
],
"env": {
"NODE_ENV": "development"
},
"console": "integratedTerminal",
"sourceMaps": true,
"outFiles": [
"${workspaceRoot}/{lib}/**/*.js"
],
"skipFiles": [
"node_modules/**/*.js",
"lib/**/*.js"
]
}
, 여기에 조각입니다 출력되는 자바 스크립트의 코드 :
let handler = subscription.messageSubscription.handler;
debugger;
await handler(message.message, context);
디버깅 할 때
그러나 그것은 다음과 같습니다
case 4:
handler = subscription.messageSubscription.handler;
debugger;
return [4 /*yield*/, handler(message.message, context)];
case 5: