0226
LOGS
- 重い腰上げて Next.js の App Router に触れていく
とりまプロジェクトを作る
> npx create-next@app@latest # create-next-app@14.0.0 # Ok to proceed? (y) y # 以下色々対話的に進める # # typescript yes # eslint yes # tailwind css no # src/ ディレクトリ yes # App Router yes # import alias (@/*) yes # ↑ 変更なし > npm run dev # http://localhost:3000next はファイルシステムのルーティングを使っているので,
ファイルやディレクトリ構成がルーティングの定義していることを意味する
- とりあえず `app ディレクトリを作れ(多分デフォでできている)
- そして
layout.tsx,page.tsxファイルを作れ(これもできている) app.tsxのみ以下に変更export default function Page() { return <h1>Hello, Next.js!</h1>; }- 昔ながらの Pages Router を使いたい場合は,
appではなく,pagesディレクトリを作って,index.tsxにすれば良い - ほいで
_app.tsxにレイアウトを記述する - 最後に
pagesディレクトリに_document.tsxを作って,ここで サーバーからの初期応答を制御する
- 昔ながらの Pages Router を使いたい場合は,
戻って,
.env系のファイルは作られていないが,.gitignoreをみた感じ.env*.local作って開発するのね- Routing Files は把握しておいたほうが良さそう
- 意味ごとにファイル定義が内部でされているので
- Dynamic Routes は後で見る気がするのでここでは無視
- その他諸々もあとだが,最後に SEO は把握しておく
- 認証周りは公式の NextAuth があるのありがてぇ!
- こっからは単なるリファレンスなだけだったので,あとは好きに作れと言う事か
ちゃうわ.learn があった
Chapter1
おい,こちらにテンプレートあったのか.
> npx create-next-app@latest nextjs-dashboard --use-npm --example "https://github.com/vercel/next-learn/tree/main/dashboard/starter-example" > cd nextjs-dashboard > npn run dev # http://localhost:3000- pnpm が良いなぁ
- 開いたら,めっちゃレイアウト崩れてたんやが w
- 次の章がスタイリングだったので大丈夫そう
Chapter2
- グローバルスタイル
- とりま,
layout.tssにglobal.cssをインポート- スタイリングの設定はすでに書かれている
- 中身は tailwind のそれぞれのファイルを読み込んでいる
- クイズ形式で途中途中に確認が入るの良いな
css modulesの紹介/app/uiにhome.module.cssを作る
.shape { height: 0; width: 0; border-bottom: 30px solid black; border-left: 20px solid transparent; border-right: 20px solid transparent; }/app/page.tsxで読み込んで使う
import styles from "@/app/ui/home.module.css"; <div className={styles.shape} />;- こういう使い方もあるよということだが,今回は tailwind css のまま
条件付きスタイリング
- clsx というライブラリを使う
- 以下参考コードを抜粋(
className=""の中に書く)clsx("共通設定", { "bg-gray-100 text-gray-500": status === "pending", "bg-green-500 text-white": status === "paid", }); - おい,
clsxデフォでインストールされてたんかーい!
-