【VSCode】Vue.jsのデバッグを行う方法

2019年6月4日

Vue.jsはブラウザ上でもデバッグすることが可能ですが、開発者コンソール上のsourceでは同じファイル名でいくつもファイル名が存在するので少し分かりづらく面倒臭く感じてしまいます…。

ですので、VSCode上のコードのブレークポイントをを貼ってデバッグする方法を紹介します。

※Vue CLI3系での手順を記載します。2系は記載しませんのでページ下部の更新URLにてご確認ください。

開発者コンソール上ではファイルが分かりづらいことも…

冒頭で申し上げた通りですが、Chrome等の開発者コンソール上でデバッグを行うときにいくつもファイルが表示されてしまうことがあります。以下の画像は私が開発中のコードを開発者コンソール上で表示しているものです。

末尾のパラメータ以外は同じファイル名のファイルがいくつもあります。末尾にパラメータが付いていないものがオリジナルファイルかと思いきや、そういうわけでもないです…。

私は良く混乱させられてしまいます。

VSCode上でデバッグをできるようにする

ここからは実際にデバッグをできるように設定する手順を記載していきます。

※私は基本的にChromeを使用しているので、Chromeで方法を記載します。

VSCodeのプラグインを導入する

まずは、以下のプラグインを導入します。

※Firefox用のプラグインもあるので、Firefoxでのデバッグを行いたい場合はFirefox用のプラグインを入れましょう。

vue.config.jsに設定を追加

デバッグの際にソースマップが必要となるとのことで以下の設定をvue.config.jsに追加します。

module.exports = {
  configureWebpack: {
    devtool: 'source-map',
  },
};

デバッグ定義を追加

VSCodeのデバッグ画面を開き、歯車ボタンを押下します。

すると以下のようなデバッグ環境の選択が出てくるので、Chromeを選択します。

すると、launch.jsonというファイルが作成されるので、内容を以下のように書き換えます。

※urlの値はアプリ毎に異なると思うので、自身のものに置き換えてください。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "vuejs: chrome",
            "url": "http://localhost:8080",
            "webRoot": "${workspaceFolder}/src",
            "breakOnLoad": true,
            "sourceMapPathOverrides": {
                "webpack:///./src/*": "${webRoot}/*"
            }
        },
    ]
}

設定はこれで完了です。

デバッグを実行する

デバッグの方法は簡単です。以下のコマンドで開発用サーバを立ち上げます。

npm run serve

以下の画像のように、デバッグをしたい箇所にブレークポイントを貼ります。(行の左側をクリックすればブレークポイントを設定できます)

あとはデバッグタブの再生ボタンまたはF5キーを押せば、ブラウザが立ち上がりデバッグ開始します。

ブレークポイントを通れば、以下のようになり色々確認できます。(画像に謎の変換中が映り込んだ…)

とりあえず使用していて思ったのは、変数ウィンドウは見づらすぎて、変数マウスオーバーでしか確認できない…。

使い勝手には不満があるものの、VSCodeでのVue.jsデバッグはできるようになりました!!

参考URL

Vue.js公式です。

https://jp.vuejs.org/v2/cookbook/debugging-in-vscode.html