新しいNext.jsアプリケーションを作成する
システム要件
開始する前に、システムが以下の要件を満たしていることを確認してください:
- Node.js 18.18 以降
- macOS、Windows(WSLを含む)、またはLinux
自動インストール
新しいNext.jsアプリを作成する最も簡単な方法は、create-next-app
を使用することです。これにより、すべてが自動的にセットアップされます。プロジェクトを作成するには、以下を実行します:
インストール中に以下のプロンプトが表示されます:
プロンプトの後、create-next-app
はプロジェクト名のフォルダを作成し、必要な依存関係をインストールします。
手動インストール
新しいNext.jsアプリを手動で作成するには、必要なパッケージをインストールします:
次に、以下のスクリプトをpackage.json
ファイルに追加します:
これらのスクリプトは、アプリケーション開発のさまざまな段階を参照しています:
next dev
: 開発サーバーを起動しますnext build
: 本番用にアプリケーションをビルドしますnext start
: 本番サーバーを起動しますnext lint
: ESLintを実行します
pages
ディレクトリの作成
Next.jsはファイルシステムベースのルーティングを使用しており、アプリケーション内のルートはファイルの構造によって決定されます。
プロジェクトのルートにpages
ディレクトリを作成します。次に、pages
フォルダ内にindex.tsx
ファイルを追加します。これがホームページ(/
)になります:
次に、pages/
内に_app.tsx
ファイルを追加してグローバルレイアウトを定義します。カスタムAppファイルについて詳しく学びましょう。
最後に、pages/
内に_document.tsx
ファイルを追加して、サーバーからの初期レスポンスを制御します。カスタムDocumentファイルについて詳しく学びましょう。
public
フォルダの作成(オプション)
プロジェクトのルートにpublic
フォルダを作成して、画像、フォントなどの静的アセットを保存します。public
内のファイルは、ベースURL(/
)から始まるパスでコードから参照できます。
これらのアセットはルートパス(/
)を使用して参照できます。例えば、public/profile.png
は/profile.png
として参照できます:
開発サーバーの実行
npm run dev
を実行して開発サーバーを起動しますhttp://localhost:3000
にアクセスしてアプリケーションを表示しますpages/index.tsx
ファイルを編集して保存し、ブラウザで更新された結果を確認します
TypeScriptのセットアップ
TypeScriptの最小バージョン:
v4.5.2
Next.jsにはTypeScriptサポートが組み込まれています。プロジェクトにTypeScriptを追加するには、ファイルを.ts
/ .tsx
にリネームしてnext dev
を実行します。Next.jsは必要な依存関係を自動的にインストールし、推奨設定オプションを含むtsconfig.json
ファイルを追加します。
詳細についてはTypeScriptリファレンスページを参照してください。
ESLintのセットアップ
Next.jsにはESLintが組み込まれています。create-next-app
で新しいプロジェクトを作成すると、必要なパッケージが自動的にインストールされ、適切な設定が行われます。
既存のプロジェクトに手動でESLintを追加するには、next lint
をスクリプトとしてpackage.json
に追加します:
次に、npm run lint
を実行すると、インストールと設定プロセスがガイドされます。
以下のようなプロンプトが表示されます:
? ESLintをどのように設定しますか?
❯ Strict (推奨)
Base
Cancel
- Strict: Next.jsの基本ESLint設定に加えて、より厳格なCore Web Vitalsルールセットを含みます。ESLintを初めて設定する開発者に推奨される設定です
- Base: Next.jsの基本ESLint設定を含みます
- Cancel: 設定をスキップします。独自のカスタムESLint設定を計画している場合はこのオプションを選択してください
Strict
またはBase
が選択された場合、Next.jsは自動的にeslint
とeslint-config-next
を依存関係としてインストールし、選択した設定を含む.eslintrc.json
ファイルをプロジェクトのルートに作成します。
ESLintを実行してエラーを検出するには、next lint
を実行します。ESLintが設定されると、ビルド時(next build
)にも自動的に実行されます。エラーはビルドを失敗させますが、警告は失敗させません。
詳細についてはESLintプラグインページを参照してください。
絶対インポートとモジュールパスエイリアスの設定
Next.jsはtsconfig.json
とjsconfig.json
ファイルの"paths"
および"baseUrl"
オプションをサポートしています。
これらのオプションを使用すると、プロジェクトディレクトリを絶対パスにエイリアスできるため、モジュールのインポートがより簡単でクリーンになります。例えば:
絶対インポートを設定するには、baseUrl
設定オプションをtsconfig.json
またはjsconfig.json
ファイルに追加します。例えば:
baseUrl
パスを設定するのに加えて、"paths"
オプションを使用してモジュールパスを"alias"
できます。
例えば、以下の設定は@/components/*
をcomponents/*
にマッピングします:
各"paths"
はbaseUrl
の場所からの相対パスです。