仕事で、Next.js
を使いたいという要望があったので、個人的にさらった内容を備忘録として書き留めておきます。
(正直、根っこの部分はReact
とあまり変わらないので、React
でやったことをNext.js
様に置き換えればいいだけな感じですが)
プロジェクトの作成
以下コマンドで、プロジェクトを作成します。
プロジェクト名や、どのライブラリを使用するかとかは、よしなに。
npx create-next-app@latest
作ったプロジェクトのディレクトリに移動してnpm start
を実行して起動!
と思ったのですが、以下の様なエラーが出てきました。
Error: Could not find a production build in the '.next' directory.
Try building your app with 'next build' before starting the production server.
https://nextjs.org/docs/messages/production-start-no-build-id
ググったら、npm run build
を実行しないと、.next
ディレクトリが作成されないのだとか。(わかりづら...)
ビルドしてから、npm start
で起動しました!
(ホットリロードを有効にするには、npm run dev
での起動が必要そう)
複数ページ化
Next.js
でサブディレクトリのページを作るには、src/pages
フォルダ下に、JSX.Element
が戻り値のexport default
関数のコードを配置してあげるだけで動きます!
(あとは、ほぼReact
と同じなので、html
のDOM
的にデザインを作ってあげればいいだけですね)
サンプルとしては、以下の実装をしてみました。
src
- pages
- index.tsx
- test
- index.tsx
サンプルコードは以下、格納しておきましたm(_ _)m
終わりに
デザイン面は、React
使えるなら、問題無しって感じなので、そんなに難しい感じでもないですね。
React
だと、サブディレクトリのページ作るのに、router
用のライブラリを入れて、調整してあげないといけないので、それに比べると楽ですね!