サーチ…


前書き

TypeScriptの実行とデバッグには2つの方法があります。

JavaScriptトランスパイルし 、ノードで実行し、マッピングを使用してTypeScriptソースファイルにリンクする

または

ts-nodeを使って直接TypeScriptを実行する

この記事では、 Visual Studio CodeWebStormの両方を使用する方法について説明します。すべての例では、メインファイルがindex.tsであると想定しています。

Visual StudioコードのSourceMapsを使用したJavaScript

tsconfig.jsonセット

"sourceMap": true,

tscコマンドを使用してTypeScriptソースからjsファイルと一緒にマッピングを生成します。
launch.jsonファイル:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceRoot}\\index.js",
            "cwd": "${workspaceRoot}",
            "outFiles": [],
            "sourceMaps": true
        }
    ]
}

これにより生成されたindex.js(メインファイルがindex.tsの場合)ファイルとVisual Studio Codeのデバッガがブレークポイントで停止し、TypeScriptコード内の変数値が解決されます。

WebStormのSourceMapsを使用したJavaScript

Node.js デバッグ設定を作成し、 index.jsNodeパラメータとして使用します

ここに画像の説明を入力

Visual Studioコードでts-nodeを持つTypeScript

あなたのTypeScriptプロジェクトにts-nodeを追加してください:

npm i ts-node

package.jsonスクリプトを追加する:

"start:debug": "ts-node --inspect=5858 --debug-brk --ignore false index.ts"

launch.jsonは、 node2タイプを使用し、startを実行するnpmを起動するように設定する必要がありますstart:debugスクリプト:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node2",
            "request": "launch",
            "name": "Launch Program",
            "runtimeExecutable": "npm",
            "windows": {
                "runtimeExecutable": "npm.cmd"
            },
            "runtimeArgs": [
                "run-script",
                "start:debug"
            ],
            "cwd": "${workspaceRoot}/server",
            "outFiles": [],
            "port": 5858,
            "sourceMaps": true
        }
    ]
}

WebStormにts-nodeを持つTypeScript

このスクリプトをpackage.json追加してください:

"start:idea": "ts-node %NODE_DEBUG_OPTION% --ignore false index.ts",

スクリプトを右クリックし、[ テスト:アイデアの作成 ]を選択し、[OK]をクリックしてデバッグ設定を作成します。

ここに画像の説明を入力

この構成を使用してデバッガを起動します。

ここに画像の説明を入力



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow