Categories
Tags
Alamofire Android AppStoreConnect AWS Bun C++ cAdvisor CFW Cloudflare Cloudflare Access Cloudflare KV Cloudflare Tunnel Cloudflare Workers D1 Deno DevContainer Discord Docker ECR ECS Edizon Emulator EmuMMC Fastlane Firestore Frida Ghidra Git GitHub GitHub Actions GitLab GPG Grafana HACGUI Heroku Homebrew Hono IDA Pro iOS IPSwitch Jailbreak Javascript JSON JWT LanPlay Linode macOS Mirakurun MongoDB NestJS NextJS Nintendo Nintendo Switch NodeJS PHP PostgreSQL Prisma Programming Prometheus Python React Realm RealmSwift Ruby Salmon Run Salmonia3+ Shogi Sideload Snap Splatoon Splatoon2 Splatoon3 SSH Stable Diffusion Starlight Swift Swift Package SwiftUI Switch TensorRT Turf War Typescript TypeScript Ubuntu Ubuntu Server VNC VPN VSCode Vue WARP Wireguard XCode Xcode yarn zsh 家電 横歩取り
345 words
2 minutes
NextJSのテンプレートを理解しよう
NextJS
普段Bunを使っているのでチュートリアルに従ってNextJSのプロジェクトを作成してみます。
.
├── src/
│ └── app/
│ ├── favicon.ico
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx
├── .gitignore
├── biome.json
├── bun.lockb
├── next.config.mjs
├── package.json
├── postcss.config.mjs
├── tailwind.config.ts
└── tsconfig.json
すると上のようなファイルが生成されました。
この状態でbun run dev
を実行するとnext dev
が実行されてサーバーが立ち上がります。
SASS/SCSS
基本的にはtailwind cssを利用することが多いと思うのですが、どうしても独自のフォントを利用したい場合はSASSをコンパイルできるようにする必要があります。
公式ドキュメントに書いてあるのでそれを見てみます。
bun add -D sass
あとはこの設定を反映させるようにnext.config.mjs
を修正します。
const path = require('path')
module.exports = {
sassOptions: {
includePaths: [path.join(__dirname, 'styles')],
},
}
公式ドキュメントにはこのように書いているのですが、ES Moduleではこの記法は利用できないので、
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
module.exports = {
sassOptions: {
includePaths: [path.join(__dirname, 'styles')],
},
}
として__dirname
を参照できるようにしましょう。
で、実際にこのパスがどこを参照しているかチェックしてみると/home/bun/app/styles
と表示されました。
NextJSのテンプレートを理解しよう
https://fuwari.vercel.app/posts/2024/05/nextjs/