この章では、Next.jsとTypeScriptを使った開発を始めるために必要な環境を整えていきます。具体的には、Node.jsのインストール、パッケージマネージャーの選択、エディタの準備、そしてNext.jsプロジェクトの作成までを順を追って説明します。
1. Node.jsのインストール
Next.jsは、JavaScriptの実行環境であるNode.js上で動作します。そのため、まずはNode.jsをインストールする必要があります。
Node.jsのバージョン確認
既にNode.jsがインストールされているかどうかは、ターミナル(コマンドプロンプト)で以下のコマンドを実行することで確認できます。
bash
node -v
バージョン番号(例:v18.17.0
)が表示されれば、Node.jsはインストールされています。表示されない場合、または古いバージョンが表示された場合は、インストールまたはアップデートが必要です。
Next.jsは、Node.jsの公式ドキュメントで現在Maintenance
、またはActive LTS
となっているバージョンをサポートしています。執筆時点(2024/03/13)では、Node.js 18.17以降が推奨されています。
Node.jsのインストール方法(Windows、macOS、Linux)
Node.jsをインストールするには、以下の方法があります。
公式サイトからダウンロードする
- Node.jsの公式サイト(https://nodejs.org/)にアクセスします。
- トップページに「LTS(推奨版)」と「Current(最新版)」の2つのダウンロードボタンが表示されます。基本的には、安定している**「LTS(推奨版)」** を選択します。
- ダウンロードしたインストーラを実行し、画面の指示に従ってインストールを進めます。
パッケージマネージャーを使用する
各OSのパッケージマネージャーを使ってインストールすることもできます。
Windows:
winget
やchocolatey
などのパッケージマネージャーがあります。例えば、chocolatey
を使用する場合は、管理者権限でコマンドプロンプトを開き、以下のコマンドを実行します。bashchoco install nodejs
macOS:
Homebrew
が一般的です。Homebrewがインストールされている状態で、ターミナルで以下のコマンドを実行します。bashbrew install node
Linux: 各ディストリビューションのパッケージマネージャー(
apt
、yum
など)を使用します。例えば、UbuntuなどのDebian系のディストリビューションでは、以下のコマンドを実行します。bashsudo apt update sudo apt install nodejs
インストールが完了したら、再度 node -v
コマンドを実行して、バージョン番号が表示されることを確認してください。
2. パッケージマネージャーの選択 (npm, yarn, pnpm)
Node.jsのインストールが完了すると、npm (Node Package Manager) も一緒にインストールされます。npmは、JavaScriptのライブラリ(パッケージ)を管理するためのツールです。Next.jsプロジェクトでは、このパッケージマネージャーを使用して、必要なライブラリをインストールしたり、管理したりします。
各パッケージマネージャーの特徴と違い
一般的に使用されるパッケージマネージャーには、npm、yarn、pnpmの3つがあります。
- npm: Node.jsに同梱されているデフォルトのパッケージマネージャーです。
- yarn: Facebookが開発したパッケージマネージャーで、npmよりも高速で安全なインストールを提供します。
- pnpm: 近年注目されているパッケージマネージャーで、ディスク容量の効率化とインストール速度の向上が特徴です。
それぞれの主な違いは以下の通りです。
特徴 | npm | yarn | pnpm |
---|---|---|---|
速度 | 比較的遅い | 高速 | 非常に高速 |
ディスク容量 | プロジェクトごとにnode_modulesを作成 | グローバルキャッシュ + プロジェクトごとのリンク | グローバルストア + プロジェクトごとのハードリンク |
安全性 | 中 | 高 | 高 |
ロックファイル | package-lock.json | yarn.lock | pnpm-lock.yaml |
おすすめのパッケージマネージャーとその理由
初心者の方には、Node.jsに同梱されていて、情報も多いnpmから使い始めるのが良いでしょう。慣れてきたら、より高速で効率的なyarnやpnpmを試してみるのもおすすめです。
このチュートリアルでは、npm を使用して解説を進めていきますが、他のパッケージマネージャーを使用しても、基本的な手順は大きく変わりません。
それぞれのパッケージマネージャーで対応するコマンド
以降の手順ではnpmをベースに説明しますが、yarnとpnpmを使う場合のコマンドも併記します。
操作 | npm | yarn | pnpm |
---|---|---|---|
プロジェクトの初期化 | npm init -y | yarn init -y | pnpm init |
パッケージのインストール | npm install <package> | yarn add <package> | pnpm add <package> |
開発依存のインストール | npm install -D <package> | yarn add -D <package> | pnpm add -D <package> |
スクリプトの実行 | npm run <script> | yarn <script> | pnpm <script> |
3. エディタの準備(VS Code推奨)
コードを効率的に書くためには、使いやすいエディタが必要です。多くのエディタが存在しますが、ここでは特に初心者にも使いやすく、Next.jsとTypeScriptの開発に適したVisual Studio Code (VS Code) をおすすめします。
VS Codeのインストール
- VS Codeの公式サイト(https://code.visualstudio.com/)にアクセスします。
- 「Download」ボタンをクリックし、お使いのOS用のインストーラをダウンロードします。
- ダウンロードしたインストーラを実行し、画面の指示に従ってインストールを進めます。
VS Codeの基本的な使い方
VS Codeを起動すると、以下のような画面が表示されます。
- エクスプローラー: プロジェクトのファイルやフォルダを表示します。
- エディタ: コードを編集するエリアです。
- ターミナル: コマンドを実行するためのターミナルです。
基本的な操作は以下の通りです。
- ファイルを開く: エクスプローラーでファイルをクリックすると、エディタで開かれます。
- ファイルを保存:
Ctrl + S
(Windows)またはCmd + S
(macOS)でファイルを保存できます。 - ターミナルを開く:
Ctrl +
(Windows)または
Cmd +(macOS)でターミナルを開くことができます。
- コマンドを実行する: ターミナルにコマンドを入力し、
Enter
キーを押して実行します。
おすすめの拡張機能
VS Codeは、拡張機能をインストールすることで、機能を拡張できます。Next.jsとTypeScriptの開発におすすめの拡張機能は以下の通りです。
- Japanese Language Pack for Visual Studio Code: VS Codeのインターフェースを日本語化します。
- ESLint: JavaScriptやTypeScriptの構文チェックやコードフォーマットを行うための拡張機能です。
- Prettier - Code formatter: コードを自動的に整形してくれる拡張機能です。
- Path Intellisense: ファイルパスの入力を補完してくれる拡張機能です。
- vscode-icons: ファイルやフォルダのアイコンを見やすくする拡張機能です。
- GitLens — Git supercharged: Gitの操作を視覚的に分かりやすくしてくれる拡張機能です。
拡張機能は、VS Codeのサイドバーにある「拡張機能」アイコンをクリックし、検索バーに拡張機能名を入力してインストールできます。
4. Next.jsプロジェクトの作成
Node.js、パッケージマネージャー、エディタの準備が整ったら、いよいよNext.jsプロジェクトを作成します。
create-next-app
を使用したプロジェクトの作成
Next.jsプロジェクトを簡単に作成するには、create-next-app
というツールを使用します。ターミナルで以下のコマンドを実行します。
bash
npx create-next-app@latest my-next-app --typescript
使用するコマンド | 説明 |
---|---|
npx | npmに同梱されている、パッケージを実行するためのコマンド |
yarn create | yarnで同様のコマンドを実行する場合 |
pnpm create | pnpmで同様のコマンドを実行する場合 |
このコマンドは、カレントディレクトリにmy-next-app
という名前の新しいディレクトリを作成し、その中にNext.jsプロジェクトの基本的なファイルやフォルダを生成します。--typescript
オプションを指定することで、TypeScript用のプロジェクトが作成されます。
以下のような質問が聞かれるので、Yes
を選択してEnterキーを押してください。
bash
Need to install the following packages:
[email protected]
Ok to proceed? (y)
TypeScriptテンプレートの選択
create-next-app
を実行すると、いくつかの質問が表示されます。執筆時点(2024/03/13)では、次のような質問が表示されますので、以下のように選択し、Enter
キーを押して進めてください。
bash
✔ Would you like to use ESLint with this project? ... Yes
✔ Would you like to use `src/` directory with this project? ... No
✔ Would you like to use experimental `app/` directory with this project? ... No
✔ What import alias would you like configured? ... @/*
この設定で、ESLintが有効になり、ソースコードはプロジェクトルート直下に配置され、@/*
というインポートエイリアスが設定されます。
プロジェクトのディレクトリ構造の解説
作成されたプロジェクトのディレクトリ構造は、以下のようになっています。
my-next-app/
├── node_modules/
├── pages/
│ ├── api/
│ │ └── hello.ts
│ ├── _app.tsx
│ └── index.tsx
├── public/
│ ├── favicon.ico
│ └── vercel.svg
├── styles/
│ ├── globals.css
│ └── Home.module.css
├── .eslintrc.json
├── .gitignore
├── package.json
├── package-lock.json (npmの場合)
├── tsconfig.json
└── README.md
node_modules/
: インストールされたパッケージが格納されるディレクトリです。pages/
: Next.jsのページコンポーネントを配置するディレクトリです。このディレクトリ内のファイル名が、そのままURLのパスになります。api/
: API Routesを配置するディレクトリです。_app.tsx
: すべてのページに共通のコンポーネントやスタイルを定義するファイルです。index.tsx
: トップページ(/
)に対応するコンポーネントです。
public/
: 静的ファイルを配置するディレクトリです。ここに配置したファイルは、そのままのパスで公開されます。styles/
: スタイルファイルを配置するディレクトリです。globals.css
: グローバルなスタイルを定義するファイルです。Home.module.css
:index.tsx
に対応するCSSモジュールファイルです。
.eslintrc.json
: ESLintの設定ファイルです。.gitignore
: Gitで管理しないファイルやディレクトリを指定するファイルです。package.json
: プロジェクトの情報や依存関係、スクリプトなどを定義するファイルです。package-lock.json
(npmの場合) /yarn.lock
(yarnの場合) /pnpm-lock.yaml
(pnpmの場合): インストールされたパッケージのバージョンを記録するファイルです。tsconfig.json
: TypeScriptの設定ファイルです。README.md
: プロジェクトの説明を記述するファイルです。