Next.jsとNode.js:両者の関係

Next.jsとNode.jsの違い:フレームワークとランタイムを解説 | We.Inc

Node.jsはブラウザーの外でJavaScriptを実行し、Next.jsはその上で動くReactフレームワークです。スタックを層ごとに確認し、同じエンドポイントを両方で書き、どちらを使うべきかを解説します。

Node.jsはランタイム、つまりサーバーやノートPC上でJavaScriptを実行するプログラムです。Next.jsはWebサイトを作るためのReactフレームワークで、そのビルドツールとサーバーはNode.js上で動きます。そのため、どちらか一方を選ぶという話になることはまれです。Next.jsアプリには必ず下にNode.jsが必要ですが、Node.jsアプリにNext.jsは必須ではありません。

ランタイムとフレームワーク

両者の関係を最も早く理解するには、リクエストが通過する層を見ることです。下の典型的なNext.jsアプリの各層をクリックすると、その役割と担当者がわかります。

よくある質問

Next.jsはバックエンドですか、フロントエンドですか?

一定の範囲で両方です。サーバーでReactページをレンダリングし、インタラクティブな部分をブラウザーに送り、JSONエンドポイント用のRoute Handlerも書けます。ただし、多数の別クライアント向けの本格的なバックエンドを想定したものではありません。

Next.jsの前にNode.jsを学ぶ必要がありますか?

Node.jsのインストールと、npmやターミナルの基本的な感覚は必要です。サーバーはNext.jsが処理してくれるため、node:httpモジュールの深い知識は不要です。

Next.jsにEdge Runtimeはまだありますか?

runtimeのルートオプションでは、現在'nodejs'がデフォルト、'edge'が非推奨とされています。ドキュメントではルートファイルからruntimeのエクスポートを削除するよう求めているため、新しいコードはNode.jsを前提にすべきです。

BunやDenoでNext.jsを動かせますか?

Next.jsのデプロイに関するドキュメントでは、Bunが検証済みのアダプターとして、Deno Deployが独自の統合を持つプラットフォームの1つとして挙げられています。Node.jsサーバー以外では対応機能が異なるため、各プラットフォームの注意事項を確認してください。

ExpressはNext.jsと同じ種類のものですか?

どちらもNode.js上のライブラリなので、Node.jsよりは近い存在です。Expressは最小限のHTTPサーバー用ツールキットで、Next.jsはReactを中心に作られた本格的なWebサイトフレームワークです。

Node.jsをひと言で

Next.jsが上に加えるもの

プロジェクトに合わせて選ぶ

素のNode.jsサーバー

組み込みのnode:httpモジュールだけを使います。ポート、ヘッダー、ルーティングはすべて自分で決めます。node server.mjsで実行します。

Next.jsのRoute Handler

ファイルパスが/api/helloになり、サーバーはNext.jsが動かします。未知のパスには自動でフレームワークの404ページが返ります。

Next.jsプロジェクトでNode.jsが動く場所

package.jsonのscripts

どのスクリプトもNode.jsのプロセスを起動します。開発サーバー、本番ビルド、本番サーバーです。

ブラウザー

訪問者

Next.jsがサーバーでレンダリングしたHTMLを受け取り、ボタンやフォームが動くよう、Client Component用のJavaScriptだけを読み込みます。

アプリのコード

あなた

appフォルダー内のページ、レイアウト、Route Handlerです。ReactにNext.jsのいくつかの規約を加えたもので、JavaScriptかTypeScriptで書きます。

フレームワーク

フォルダーをURLに対応させ、Server Componentをレンダリングし、クライアント用コードをバンドルし、next startで起動する本番サーバーを動かします。

ランタイム

上のJavaScriptをすべてサーバー上で実行します。ビルド、開発サーバー、本番でのすべてのリクエストです。

オペレーティングシステム

ホスティング

macOS、Windows、Linux、またはコンテナです。Next.jsは開発環境として、macOS、WSLを含むWindows、Linuxをサポート対象に挙げています。

Next.jsアプリの層

層を選択

担当:{v}

上から{v}層中{n}層目

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る