Reactのデバッグ

この記事にはプロモーションが含まれています。

今回は「React」を、VSCodeでデバッグできる様にセットアップします。ReactはBlazorなどと同じフロントエンドのユーザーインターフェイスを構築できるフレームワークになっています。Vue.jsと同じJavaScriptを使用していて、WEBアプリのフロントエンドとして最も使用されているフレームワークの様です。

Reactを使用するにはnpmというパッケージマネージャーが必要なのでNode.jsをあらかじめインストールしておく必要があります。Windows版のVSCodeをご使用の場合は、こちらのサイト様等を参考にしてNode.jsをインストールして下さい。WSL2をご使用の場合はこちらの記事等をご参照ください。

Reactプロジェクトを作成します

任意のフォルダ(react-app等)を作成してVSCodeで開きます。「Ctrl + @」と入力してターミナル画面を開いて以下の様に入力して、Reactプロジェクトのひな型を作成します。

npm create vite@latest . -- --template react 

または以下の様にWindowsのターミナルに入力して、プロジェクトのひな型を作成することも出来ます。

npm create vite@latest react-app -- --template react 

プロジェクトが作成されたら以下の様に入力して、必要なパッケージをインストールして開発用サーバーを起動します。

npm install
npm run dev

サーバーが起動すると以下の様な表示になりますので、「http://localhost:5173/」の部分をCtrlキーを押しながらクリックするとブラウザーが起動してトップページが表示されます。停止する場合はターミナル画面に「Ctrl + c」と入力します。

  VITE v6.3.5  ready in 258 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help

開発用サーバーが待ち受けするポート番号を変更したい場合は、プロジェクトフォルダ内にある「vite.config.js」ファイルを開いて以下の様な設定を7行目あたりに追加します。(デフォルトは5173になっています。)

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vite.dev/config/
export default defineConfig({
  plugins: [react()],
  server: {
    port: 3001,
  },
})

サーバーが起動している場合は、設定を保存するとすぐに待ち受けポートが変更されます。停止している場合は再度「npm run dev」と入力してサーバーを起動すると設定が反映されます。

Reactプロジェクトをデバッグします

プロジェクトフォルダ内に「.vscode/launch.json」というファイルを作成して、以下の様な設定を書き込みます。11行目の待ち受けポートを開発サーバーが待ち受けているポートに合わせます。12行目にReactのソースファイルの場所「/src」を追加します。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "localhost に対して Chrome を起動する",
            "url": "http://localhost:5173",
            "webRoot": "${workspaceFolder}/src"
        }
    ]
}

「src」フォルダ内にある「main.jsx」ファイルを開いて6行目あたりにブレークポイントを設定します。「F5」キーを押すか、デバッグ画面の「実行とデバッグ」ボタンを押してデバッガーを起動すると設定したブレークポイントで停止します。

しかし以下の様にワークスペースフォルダを作成して、その中で複数のReactプロジェクトを管理している場合はこの設定ではブレークポイントで停止しない様です。

react-projects
  ├─react-app1
  └─react-app2

その場合は「.vscode/launch.json」ファイルの12行目を以下の様に修正して、「ブレークポイントを設定したファイルを最前面に表示して」デバッガーを起動すると停止する様です。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "localhost に対して Chrome を起動する",
            "url": "http://localhost:5173",
            "webRoot": "${fileDirname}"
        }
    ]
}

どうしても停止しない場合は、ソースファイルに「debugger;」という文字列を追加しておくと必ず止まる様です。(ブレークポイントを設定していなくても停止します。)

以上です。よろしかったらお試しください。

Blazor

前の記事

BlazorでMySQLを使う方法