1
コードをデバッグできている間にtypescriptコードを別のフォルダにコンパイルするにはどうすればよいですか?Visual StudioコードでTypescriptをデバッグし、出力フォルダを別にする
は、私は、ファイルmyapp.ts
で最初console.log
にブレークポイントを設定したいと仮定します
class HelloTS {
public static main(): number {
console.log('Hello TS');
console.log("about to exit now")
return 0;
}
}
HelloTS.main();
と、次のtsconfig.json
:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true
}
}
ブレークポイントがある限りmyapp.ts
、myapp.js
、およびmyapp.js.map
として正常に動作します同じフォルダにあります。
ただし、ソース(src/
)と出力(dist/
)のフォルダを別々に作成すると、ブレークポイントが機能せず、エラーも発生しません。
私は次の設定をしていますが、正常にコンパイルできますが、デバッグはできません。
.vscode/tasks.json
:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"args": [
"-p", ".",
"--rootDir", "src/",
"--outDir", "dist/"
],
"showOutput": "silent",
"echoCommand": true,
"problemMatcher": "$tsc"
}
.vscode/launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/src/myapp.ts",
"stopOnEntry": false,
"args": [],
"cwd": "${workspaceRoot}",
"preLaunchTask": null,
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"console": "internalConsole",
"sourceMaps": true,
"outFiles": [
"**/*.js",
"**/*.js.map"
]
},
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 5858,
"address": "localhost",
"restart": false,
"sourceMaps": true,
"outFiles": [],
"localRoot": "${workspaceRoot}",
"remoteRoot": null
},
{
"name": "Attach to Process",
"type": "node",
"request": "attach",
"processId": "${command.PickProcess}",
"port": 5858,
"sourceMaps": true,
"outFiles": []
}
]
}