【Next.js】Next.jsのインストール方法と初期設定

Next.jsとは、ReactをベースにしたオープンソースのフルスタックJavaScriptフレームワークです。Next.jsは、静的サイト生成(SSG)やサーバーサイドレンダリング(SSR)といった機能を簡単に実装できるのが大きな特徴で、パフォーマンスの向上やSEO対策が求められるWebアプリケーションの開発に最適です。

現在参画している案件でNext.jsを使用しているため、Node.js、Next.jsのインストール方法から必要な初期設定をまとめました。

目次

Node.jsのインストール

Node.jsのインストールにあたり、homebrewからnodebrewというツールをインストールします。
nodebrewとはNode.jsのバージョンを管理するツールです。プロジェクト毎にNode.jsのバージョンが異なるとインストールし直す必要がありますが、nodebrewを利用すれば簡単にバージョンを切り替えることができます。

なお、homebrewのインストール方法は下記に記載しています。インストールされていない方は参考にしてください。

nodebrewをインストールします。

# nodebrewをインストール
brew install nodebrew

# インストールされたことを確認
nodebrew -v

Node.jsをインストールします。
なお、2024年9月現在は最新のLTS版であるv20.17.0をインストールします。

# インストールできるバージョンを確認
nodebrew ls-remote

# 指定のバージョンをインストール
nodebrew install-binary v20.17.0

# インストールされたことを確認(v20.17.0が表示される)
nodebrew ls

# インストールしたバージョンを有効化
nodebrew use v20.17.0

パスを通します。

echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zprofile
~/.zprofile

# インストールしたバージョンが表示されることを確認
node -v

Next.jsのインストール

Next.jsをインストール。
質問事項は下記を参考にしました。

私は初心者のためTypeScriptは使用せず、CSSはTailwindを学びながら進めたかったため以下にしました。

npx create-next-app@latest

# 質問事項の回答
✔ What is your project named? … cloud-work
✔ Would you like to use TypeScript? … No
✔ Would you like to use ESLint? … Yes
✔ Would you like to use Tailwind CSS? … Yes
✔ Would you like to use `src/` directory? … Yes
✔ Would you like to use App Router? (recommended) … No
✔ Would you like to customize the default import alias (@/*)? … No

インストール確認。
下記コマンドでサーバーを立ち上げ、http://localhost:3000 を表示し、動作を確認します。

cd cloud-work
npm run dev

以下ページが表示されていればOKです。

Next.jsの初期設定

不要なファイルを削除します。
開発を進めていくにあたり、インストール時のファイルで不要なものは削除してしまいます。
以下に削除対象を記載します。

  • src/pages/api(apiディレクトリごと削除)
    • api配下にapiのルートを作成することができますが、今回は使用しないため削除します
  • src/pages/fonts(fontsディレクトリごと削除)
    • 使用しないため削除します
  • src/styles/globals.css(globals.css内の下記コードを削除)
    • globals.cssにページ全体のcssを記載しますが、初期デザインが記載されているため削除します
:root {
  --background: #ffffff;
  --foreground: #171717;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
  }
}

body {
  color: var(--foreground);
  background: var(--background);
  font-family: Arial, Helvetica, sans-serif;
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }
}

pages配下のソースをjsからjsxに変更します。

  • src/pages/_app.js
  • src/pages/_document.js
  • src/pages/index.js

src/pages/index.jsxを下記のように書き換えて、以下ページが表示されていればOKです。

export default function Home() {
  console.log("Hello, Next.js!");
  return <h1>Hello, Next.js!</h1>;
}

またコンソールログを確認すると、2回ログ出力されていることがわかります。
下記を参考にしましたが、reactStrictModeを解除(falseにする)と2回実行されなくなるので実施しておきましょう。

  • next.config.mjs
/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: false,
};

export default nextConfig;

コードは、以下のGitHubリポジトリで確認できます。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次