私は、次の答えをチェックしませんしました:とデバッグのNode.js 7非同期/待って活字体+ VSCode
How to debug async/await in visual studio code?
しかしどちらも私の問題を解決しました。
恐ろしいTypescript蒸散バージョンなしでNode.js v7.4.0を使用してVSCodeからネイティブのAsync/Awaitをデバッグできるようにします。私はTypescriptに正しいコード、つまり__awaiterなどを出力しないようにすることができます。しかし、コードをデバッグしようとすると、すべてのトランスビルド状態のマシンコードが表示されます。だから、コードをデバッグすることができます。デバッグしたいコードだけではありません。デバッグされたコードがトランシルドステートマシンコードを持つのを防ぐための方法はありますか?ここで
は、私が持っている設定ファイルは、以下のとおりです。さらに、ここで、私が上だものを説明するために
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"noImplicitAny": false,
"sourceMap": true,
"outDir": "lib",
"noUnusedParameters": false,
"noUnusedLocals": false,
"skipLibCheck": true
//"importHelpers": true
},
"exclude": [
"node_modules"
]
}
tsconfig.json 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"
]
}
はスニペットです出力されるjavascriptのコード:
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: