これはJavaScript の有名ライブラリであるReact のフレームワークであるNext.js を使ってみた学習メモ。
Next.js のチュートリアルとドキュメントを片手に少しずつやってみる。
公式サイト
導入
Next.js のプロジェクトを作成するコマンド。
|
|
カレントディレクトリに作成する場合は以下の通り。
|
|
出来上がったプロジェクトを起動するとこんな感じのページが表示された。
ホットリロード
プロジェクトを作成するとデフォルトでホットリロードが有効なので、pages/index.js の中身を少し変えてみた。
かなり素早くロードされた。
ルーティング
基本的にNext.js ではファイル名に基づいてルーティングされる。
なお、ルーティングされるファイルはpages/
に作成する必要がある。
例えばpages/にsample/hello.js を以下のように作成する。
|
|
開発サーバを立ち上げると、ブラウザからはlocalhost:3000/sample/hello
のパスでアクセスできる。
ページ内移動
同一プロジェクト内で、別のページにアクセスする時はaタグなどは用いずに専用の<Link>
を利用する。
<Link>
はnext/link
をインポートすることで利用可能になる。
画像の表示
Next.js では画像をめちゃくちゃ簡単に読み込める。
SVG形式でも同様に読み込めるため、非常にうれしい。
画像を使用するにはnext/image
から<Image>
を利用する。
|
|
(参考: https://nextjs.org/learn/basics/assets-metadata-css/assets)
メタデータ
普段<head>
として用いられるものはNext.js においては、next/head
からHead
を利用する。
これにより、各ページごとに別々のタイトルなどを設定することができる。
全体のページに適用させたい場合は、pages/_app.js
にHeadなどを書き込む。
外部スクリプト
外部スクリプトを読み込むにはnext/script
のScript
を利用する。
CSS
CSSが定義されたコンポーネントを作成するためにはファイル名に応じた[file].module.css
を作成して、その中にCSSを書き込むことで実装できる。
ルートディレクトリにcomponets/ を作成し、そこにlayout.js とlayout.module.css を作成する。
|
|
|
|
これらを作成したら、あとは他のコンポーネントから利用すれば適用される。
例として、先ほどのpages/hello.jsで利用してみる。
|
|
実際に利用すると、CSSが適用されていることがわかる。
つかれた
今日はここまで