next build と next dev は、何が違いますか。
dev は変更が即座に反映されるよう都度コンパイルし、エラーも詳しく出します。build は配布用の成果物を作り、不要なコードを削り、静的生成できるページを先に作ります。
面接官が見ているのは基本の補強。
これは「Vercel 以外の環境にデプロイしたことはありますか。何が必要でしたか。」への追撃質問です。
よくある答えと、面談でどう見られるか
- dev は毎回コンパイルする開発用。build は最適化した配布用の成果物を作る
だからデプロイ前に一度ローカルで build を通しておきます。 - 速度が違うだけで、動作は同じ
動作も違います。静的生成の失敗や環境変数の埋め込みは build しないと分かりません。 - build しないと分からない問題があるので、デプロイ前にローカルで通しておく
実務的な結論として正しいです。 - dev は開発用なので、本番では build したものを使う
正しいのですが、設問は違いの中身です。「何が違うから本番では build を使うのか」まで言えると通ります。
面接官は何を見ているか
- dev は毎回コンパイルすると理解している
- build は最適化された成果物を作ると言えた
- 挙動が違う点に触れた
模範解答
next dev は開発用で、ファイルを変更したら即座に反映されるように、必要なものをその都度コンパイルします。エラーメッセージも詳しく出ます。
next build は配布用の成果物を作ります。不要なコードを削り、圧縮し、静的に作れるページはこの時点で HTML にします。
違いで注意すべきは、開発時には出ない問題があることです。静的生成の失敗、本番用の最適化に起因する不具合、環境変数の埋め込みなどは、build しないと分かりません。だから、デプロイ前にローカルで一度 build を通しておくのが基本です。