メインコンテンツへスキップ
ブログ一覧に戻る
フロントエンド開発

Next.jsとTailwind CSSで作るモダンなウェブサイト

2023年12月15日
8分で読めます

この記事でわかること

Next.js 14の新機能とTailwind CSSを組み合わせて、パフォーマンスに優れたウェブサイトを構築する方法を解説します。

2026年10月8日にNext.jsのInstallation、Server and Client Components、Images、Tailwind CSSの現行Next.jsガイドを再確認した。2026年10月7日確認時点の公式InstallationはNext.js 16.4.0、Node.js最小要件20.9を示し、App RouterはServer Componentsを既定としてデータ取得・秘密情報・JavaScript量を理由に分け、状態・イベント・ブラウザAPIが必要な箇所をClientへ置く。Tailwind現行ガイドはv4.3、@tailwindcss/postcss、CSSの@importを示す。next/imageは支援機能であり、bundle、認証、hydration、LCP、CLS、実機速度を自動保証しない。

30秒で要点

Next.jsとTailwind CSSを組み合わせるとき、古いバージョンの手順を貼り直すだけでは現行構成を説明できません。フレームワークの版、Server/Client境界、CSSの導入、画像、検証を別の条件として決めます。

  • Next.jsのInstallationページは、2026年10月7日の確認時点で最新バージョンを16.4.0、Node.js要件を20.9以上としている
  • create-next-appの既定ではTypeScript、Tailwind CSS、ESLint、App Router、Turbopack、AGENTS.mdを有効にできる
  • App RouterではServer Componentsを既定とし、状態・イベント・ブラウザAPIが必要な部分だけClient Componentsへ分ける
  • Tailwind CSS v4.3のNext.jsガイドは、@tailwindcss/postcssプラグインとCSSの@importを使う
Next.jsとTailwind CSSの版、境界、CSS、画像、検証を分けて読む図解
バージョン名ではなく、生成設定、実行境界、CSS、画像、検証の証拠を別々に持つ。

1. 2026年10月7日に確認した現行手順

Next.jsのInstallationページは、確認時点の最新バージョンを16.4.0と示し、Node.js 20.9以上を要件にしています。ページは2026年10月2日に更新されていました。ここで確認した版数は、既存プロジェクトのpackage.jsonを自動更新する指示ではありません。新規作成時の前提として記録し、既存の依存関係は別に監査します。

公式のcreate-next-app手順は、TypeScript、Tailwind CSS、ESLint、App Router、Turbopack、AGENTS.mdを初期設定へ含めています。生成コマンドの既定値は変わり得るため、コマンドを保存するだけでなく、生成された設定ファイル、開発サーバー、production buildを確認します。

\\\bash npx create-next-app@latest my-project --typescript --eslint --app \\\

2. ServerとClientの境界を先に置く

Server and Client Componentsの公式説明では、Server Componentsはデータ取得、秘密情報の保持、ブラウザへ送るJavaScriptの削減に使い、Client Componentsは状態、イベントハンドラー、ブラウザAPIなどが必要な場所に使います。App RouterのファイルはServer Componentsが既定です。

境界を広げるほど、Client側へ送るJavaScriptと、ブラウザで実行する処理が増えます。逆に、クリック、入力、Web APIへアクセスするUIを無理にServer側へ置くこともできません。ページ全体を一括でClientにするのではなく、インタラクションのある小さな部品に「use client」の境界を置きます。

表が収まらない場合は、横にスクロールできます

UIの責任置く側確認する証拠
データ取得、秘密情報、静的な表示Serverserver log、bundle size
クリック、入力、ブラウザAPIClient操作テスト、hydration
公開画像の配信Imageまたは適切なimgnetwork、寸法、CLS
認証・権限の判断ServerとAPI境界認証ログ、拒否テスト

認証や秘密情報をClient Componentへ移しても、CSSの見た目が正しければ気づきにくい問題になります。境界を決めた理由と、ブラウザへ送ってよいデータをコードレビューで確認します。

3. Tailwind CSS v4.3の導入を現行手順で確認する

Tailwind CSSのNext.jsガイドは、2026年10月7日の確認時点でv4.3の導入手順を示しています。必要なパッケージはtailwindcss、@tailwindcss/postcss、postcssです。

\\\bash npm install tailwindcss @tailwindcss/postcss postcss \\\

PostCSSの設定はプラグイン名を読み込み、app/globals.cssなどでTailwindをインポートします。

\\\js // postcss.config.mjs const config = { plugins: { '@tailwindcss/postcss': {}, }, } export default config \\\

\\\css /* app/globals.css */ @import "tailwindcss"; \\\

Next.js 14の時期に一般的だったtailwind.config.jsのcontent配列やnpx tailwindcss init -pを、現行v4の手順として貼り付けません。既存プロジェクトに旧構成がある場合は、Tailwindの移行ガイド、生成CSS、production buildを確認してから変更範囲を決めます。

4. 画像の速さをコンポーネント名で保証しない

Next.jsのImage最適化は、next/imageについて、画像サイズの最適化、モダン形式、レイアウトシフトの低減、遅延読み込みを説明しています。これらは支援機能であり、画像の元サイズ、リモートドメインの許可、表示領域、LCP、キャッシュ設定まで自動で正解にするものではありません。

\\\tsx import Image from 'next/image' export default function Hero() { return ( <Image src="/images/blog/modern-website-with-nextjs-and-tailwindcss-20261007.svg" alt="サービスの紹介" width={1600} height={900} priority /> ) } \\\

ローカル画像なら寸法を把握しやすく、リモート画像なら許可するホストと寸法情報を設定します。priorityを全画像へ付けると、遅延読み込みの利点を失うため、最初の表示に必要な画像だけを対象にします。実機の低速回線でも、画像の品質と操作可能になる時間を確認します。

5. 生成できたことと、使えることを分ける

Next.jsとTailwind CSSのセットアップは、次の順で確認します。

  1. Node.jsの版数、package manager、lockfileを固定する。
  2. create-next-appまたは既存構成の設定を、現行ドキュメントと照合する。
  3. Server/Client境界と、ブラウザへ送るデータをレビューする。
  4. TailwindのPostCSSプラグインと生成CSSをproduction buildで確認する。
  5. 画像の寸法、リモート許可、LCP、CLS、キーボード操作を実機で測る。
  6. npm run lintやnpm run buildなど、プロジェクトで定めた検証を記録する。

この順番なら、版数更新、CSSの見た目、サーバー境界、画像性能の問題を一つの「モダン」という言葉で隠しません。

6. この記事で言える範囲

公式ドキュメントから、Next.js 16.4.0とTailwind CSS v4.3をすべてのサイトへ導入すべきだとは言えません。Node.jsやホスティング、既存のReact依存関係、ブラウザ対応、アクセシビリティ要件はプロジェクトごとに違います。この記事は2026年10月7日に確認した新規導入の入口と、古いNext.js 14手順を見直す観点を示すものです。

版数を上げるときは、変更前のlockfile、bundle、主要画面、画像、フォーム、認証を保存し、変更後に同じ測定を比べます。見た目が同じでも、Server/Client境界や送信されるJavaScriptが変わっている可能性を確認してください。