12

を使用して簡単な CRUD アプリを作成しました

  • エクスプレス: 4.13.4
  • 一口: 3.9.1
  • モンゴッド:v3.0.6
  • 反応 : 15.0.2。
  • ノード: 4.0.0

サーバー側のコードについては、 Visual Studio Code (v1.1.1.)経由でデバッグできると聞いています。

git bashからアプリを起動gulp serveします.しかし、デバッグを開始する方法を見つけるのに途方に暮れています!

私のgulpタスクのスニペット。

gulp.task('serve',['bundle','start-server'],function(){

    browserSync.init({
        proxy:'http://localhost:3000',
        port:9001
    });

});

VS Code のデバッグ ボタンをクリックしてデバッグ インターフェイスを起動すると、2 つの構成オプションがある launch.json が表示されます。

{
"version": "0.2.0",
"configurations": [
    {
        "name": "Launch",
        "type": "node",
        "request": "launch",
        "program": "${workspaceRoot}",
        "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": 3000,
        "address": "localhost",
        "restart": false,
        "sourceMaps": false,
        "outDir": null,
        "localRoot": "${workspaceRoot}",
        "remoteRoot": null
    }
]

}

これらは起動および接続構成であると推測しています。しかし、実際にデバッグ経由で gulp を起動するにはどうすればよいでしょうか。

「プログラム」キーを "program": "/usr/local/bin/grunt". しかし、私はgulpのためにそれを行うことができないようです

git bash 経由でアプリを起動し、ここで説明したようにデバッガーを「アタッチ」しようとしても、vs コードに「キャンセル済み」というエラー メッセージが表示されるだけです。

TLDR;

  • VS コードでデバッグを開始するときに、サーバーを gulp (または) grunt (または) 起動するにはどうすればよいでしょうか?
  • cmd または bash を介して外部からアプリを起動し、デバッガーを使用してサーバー側のコードをデバッグすることはできますか? その場合、launch.json にどのような変更が必要ですか?
4

1 に答える 1

23

さて、後で多数のブックマークとリンクを使用して、最終的に起動と接続を介してデバッグに成功しました。

起動構成を介してデバッグします。

      {
            "name": "Launch",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/server.js",
            "stopOnEntry": true,
            "args": [],
            "cwd": "${workspaceRoot}",
            "preLaunchTask": null,
            "runtimeExecutable": null,
            "runtimeArgs": [
                "--nolazy"
            ],
            "env": {
                "NODE_ENV": "development"
            },
            "externalConsole": false,
            "sourceMaps": false,
            "outDir": null
        }

ドロップダウンで起動オプションが選択された VSC デバッグ ビューで緑色の > ボタンを押すと、VSC コンソールに次のように表示されます。

node --debug-brk=21735 --nolazy server.js

そして、デバッガーは server.js ファイルの最初の行で一時停止する必要があります。ブレークポイントでデバッグ!:)

アタッチ構成を介してデバッグします。

       {
            "name": "Attach",
            "type": "node",
            "request": "attach",
            "port": 5858,
            "address": "localhost",
            "restart": false,
            "sourceMaps": false,
            "outDir": null,
            "localRoot": "${workspaceRoot}",
            "remoteRoot": null
        }

サーバーを外部で起動する

$node --debug-brk server.js

プロンプトはで一時停止する必要があります

Debugger listening on port 5858

ドロップダウンでアタッチ オプションを選択して VSC デバッグ ビューの緑色の > ボタンを押すと、デバッガーが自動的にアタッチされ、server.js の最初の行で一時停止します。

広告の吐き気をデバッグ

于 2016-05-24T10:45:16.193 に答える