0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VSCodeでReactのデバッグ環境を整える

Last updated at Posted at 2022-09-07

この記事の目的

Reactプロジェクトで基本yarnを使っている場合に、デバッグ用の設定どうするかを模索した結果です。
VSCode上でブレーク張って変数見たりできるようになります。

設定ファイル

.vscodeフォルダ内に以下の2ファイルを作成します。

  • tasks.json:ターミナル>タスクの構成...>npm: start
  • launch.json:実行>構成の追加...>Chrome
    からそれぞれ雛形のファイルを生成できます。
tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "command": "yarn start", // package.jsonで設定しているコマンド
            "label": "yarn: start", // launch.jsonで使います
            "detail": "react-scripts start",
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "isBackground": true,
            "problemMatcher": {
                "owner": "custom",
                "pattern": {
                    "regexp": "ˆ$"
                },
                "background": {
                    "activeOnStart": true,
                    "beginsPattern": "Compiling...",
                    "endsPattern": "Compiled .*"
                }
            }
        }
    ]
}

上記typenpmは指定できますが、yarnは指定できないのでshellとしています。
その代わりcommandで実行したいコマンドを全て指定しています。こちらはpackage.jsonで指定しているreact-scripts startのエイリアスコマンドに対応させます。

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "pwa-chrome",
            "request": "launch",
            "preLaunchTask": "yarn: start",  tasks.jsonのlabel
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:3000",
            "webRoot": "${workspaceFolder}",
            "sourceMaps": true,
            "sourceMapPathOverrides": {
                "webpack:///./*": "${webRoot}/src/*"
            }
        }
    ]
}

webRootはモノレポのプロジェクトの場合、"${workspaceFolder}/frontend"のように指定してください。
nameはVSCodeの実行とデバッグの名称になります。今回の設定の場合の見た目は以下の画像参照。
スクリーンショット 2022-09-07 14.46.27.png

最後に、デバッグ用のChromeだけが立ち上がるようために必要な設定を行います。
と言っても簡単で、.envファイルに以下を追記するだけです。

.env
BROWSER=none

おわりに

上記設定の後、launch.jsonpreLaunchTaskの中身をnpmにしてこちゃこちゃしても同じことだなと気づきました。
でも、デバッグできたらいいじゃないということで、お好みの設定で快適な開発ライフを送りましょう。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?