⚡️
Remix を Visual Studio Code 上でデバッグする(フロントエンドとバックエンド両方)
Remix で、フロントエンドとバックエンドを同時にデバッグするための設定です。
Visual Studio Code では、複数のプロセスにデバッガをアタッチできるので、フロントエンドとバックエンドそれぞれの設定をlaunch.json
に設定してデバッグします。
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Backend",
"type": "node-terminal",
"request": "launch",
"command": "npm run dev",
"cwd": "${workspaceFolder}"
},
{
"name": "Debug Frontend",
"type": "chrome",
"request": "launch",
"url": "http://localhost:5173/",
"webRoot": "${workspaceFolder}/app",
"sourceMaps": true
},
{
"name": "Debug Backend and Frontend",
"type": "node-terminal",
"request": "launch",
"command": "npm run dev",
"cwd": "${workspaceFolder}",
"serverReadyAction": {
"action": "startDebugging",
"pattern": "Local: +https?://.+",
"name": "Debug Frontend"
}
},
]
}
Debug Backend
がバックエンド(Node.js)でのデバッグです。
Debug Frontend
がフロントエンド(Chrome)でのデバッグです。(ポート番号の5713
は、viteでサーバ起動時のデフォルトポート番号)
2つを順次起動するのも面倒なので、両方まとめてデバッグが起動できるようにDebug Backend and Frontend
も用意しました。
serverReadyAction
という機能があって、コンソールのログがpattern
に一致したらサーバ起動とみなして、action
で指定した処理を実施できるので、それでフロントエンドのデバッグ(Debug Frontend
)を起動するようにしています。
Remix のチュートリアルを使って、フロントエンドもバックエンドもデバッグできることを確認しています。コード全体は下記になります。
デバッグできている様子です。
Discussion