Lang x Lang

Next.js Project Structure

このページでは、Next.js アプリケーションのプロジェクト構造の概要を提供しています。最上位のファイルやフォルダ、設定ファイル、そして app および pages ディレクトリ内のルーティング規則について説明します。

ファイルやフォルダの名前をクリックして、各規約について詳しく学びましょう。

Top-level folders

トップレベルのフォルダは、アプリケーションの code と静的アセットを整理するために使用されます。

Route segments to path segments
appApp Router
pagesPages Router
public提供される静的アセット
src任意のアプリケーション source フォルダ

Top-level files

トップレベルのファイルは、アプリケーションの設定、依存関係の管理、middleware の実行、監視ツールの統合、および environment variables の定義に使用されます。

Next.js
next.config.jsNext.js の設定ファイル
package.jsonプロジェクトの依存関係と scripts
instrumentation.tsOpenTelemetry と Instrumentation ファイル
middleware.tsNext.js request middleware
.envEnvironment variables
.env.localローカルの environment variables
.env.productionProduction environment variables
.env.developmentDevelopment environment variables
.eslintrc.jsonESLint の設定ファイル
.gitignore無視する Git ファイルやフォルダ
next-env.d.tsNext.js のための TypeScript declaration ファイル
tsconfig.jsonTypeScript の設定ファイル
jsconfig.jsonJavaScript の設定ファイル

app Routing Conventions

次のファイル規則は、app routerで routes を定義し、metadata を処理するために使用されます。

ルーティングファイル

layout.js .jsx .tsxLayout
page.js .jsx .tsxページ
loading.js .jsx .tsxLoading UI
not-found.js .jsx .tsxUI が見つかりません
error.js .jsx .tsxError UI
global-error.js .jsx .tsxグローバル error UI
route.js .tsAPI エンドポイント
template.js .jsx .tsxlayout を再レンダリング
default.js .jsx .tsxParallel route fallback ページ

ネストされた Routes

folderRoute セグメント
folder/folderネストされた route セグメント

Dynamic Routes

[folder]Dynamic route セグメント
[...folder]Catch-all route セグメント
[[...folder]]任意の catch-all route セグメント

Route グループとプライベートフォルダ

(folder)ルーティングに影響を与えずに routes をグループ化する
_folderルーティングから Opt フォルダとすべての子セグメントを除外する

Parallel と Intercepted Routes

@folder名前付きスロット
(.)folder同一レベルをインターセプト
(..)folder一つ上のレベルをインターセプト
(..)(..)folder二つ上のレベルをインターセプト
(...)folderroot からのインターセプト

Metadata ファイルの規約

App アイコン

favicon.icoFavicon ファイル
icon.ico .jpg .jpeg .png .svgApp Icon ファイル
icon.js .ts .tsx生成された App Icon
apple-icon.jpg .jpeg, .pngApple App Icon ファイル
apple-icon.js .ts .tsxApple App Icon を生成しました

Open Graph と Twitter 画像

opengraph-image.jpg .jpeg .png .gifOpen Graph image ファイル
opengraph-image.js .ts .tsx生成された Open Graph image
twitter-image.jpg .jpeg .png .gifTwitter image ファイル
twitter-image.js .ts .tsx生成された Twitter image

SEO

sitemap.xmlSitemap ファイル
sitemap.js .ts生成された Sitemap
robots.txtRobots ファイル
robots.js .ts生成された Robots ファイル

pages Routing Conventions

以下のファイル規則は、pages routerで routes を定義するために使用されます。

特別なファイル

_app.js .jsx .tsxカスタム App
_document.js .jsx .tsxカスタム Document
_error.js .jsx .tsxカスタム Error Page
404.js .jsx .tsx404 Error Page
500.js .jsx .tsx500 Error Page

Routes

フォルダの規則
index.js .jsx .tsxホームページ
folder/index.js .jsx .tsxネストされたページ
ファイル規約
index.js .jsx .tsxホームページ
file.js .jsx .tsxネストされたページ

Dynamic Routes

フォルダーの規則
[folder]/index.js .jsx .tsxDynamic route セグメント
[...folder]/index.js .jsx .tsxCatch-all route セグメント
[[...folder]]/index.js .jsx .tsx任意の catch-all route セグメント
ファイル規約
[file].js .jsx .tsxDynamic route セグメント
[...file].js .jsx .tsxCatch-all route セグメント
[[...file]].js .jsx .tsxオプションの catch-all route セグメント

当社サイトでは、Cookie を使用しています。各規約をご確認の上ご利用ください:
Cookie Policy, Privacy Policy および Terms of Use