https://nextjs.org/learn/dashboard-app
๊ณต์ ํํ ๋ฆฌ์ผ์ ํ๋ฒ ์ฝ์ด๋ณด๊ธฐ๋ก ํ๋ค.
1. Getting Started
/app
: ํ์ด์ง, ์ปดํฌ๋ํธ, ๋ก์ง ๋ฑ ์ ํ๋ฆฌ์ผ์ด์
์ ํ์ํ ๋ชจ๋ ๊ฒ์ด ๋ค์ด์๋ ๊ฒฝ๋ก
/app/lib
: ์ฌ์ฌ์ฉํ ํจ์๋ค์ด ๋ค์ด์๋ ๊ฒฝ๋ก. (๋ฐ์ดํฐ ํจ์นญ ๋ฑ)
/app/ui
: UI ์ปดํฌ๋ํธ๋ค
/public
: ์ ์ ํ์ผ๋ค
2. CSS Styling
Next.js๋ ํ ์ผ์๋ ์ฌ์ฉ์ ๊ถ์ฅํ๋ค.
CSS๋ชจ๋์ด๋ผ๋ ๊ฒ๋ ์๋๋ฐ,
/*home.module.css*/
.shape {
height: 0;
width: 0;
border-bottom: 30px solid black;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
}
์ด๋ ๊ฒ ์์ฑ๋์ด์๋ ์ผ๋ฐ cssํ์ผ์
import styles from "@/app/ui/home.module.css";
export default function Page(){
return(
<main className="flex min-h-screen flex-col p-6">
<div className={styles.shape}>
<AcmeLogo />
</div>
...
)
}
์ด๋ ๊ฒ ๋ถ๋ฌ์์ ์ฌ์ฉํ ์ ์๋ค.
ํด์ฆ : CSS๋ชจ๋์ ์ฅ์ ์?
์ ๋ต : Provide a way to make CSS classes locally scoped to components by default, reducing the risk of styling conflicts.
CSS๋ชจ๋์ ๊ฐ ์ปดํฌ๋ํธ๋ง๋ค ๊ณ ์ ํ ํด๋์ค ๋ค์์ ์์ฑํด ์คํ์ผ๋ง ์ถฉ๋์ ๋ฐฉ์งํ ์ ์๋ค๊ณ ํ๋ค.
clsx ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ค.๊นํ
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ์คํ์ผ์ ์ฃผ๊ณ ์ถ์๋(์ฆ ํด๋์ค๋ค์์ ์ฃผ๊ณ ์ถ์๋) ์ฌ์ฉํ๋ค.
3. Optimizing Fonts and Images
4. Creating Layouts and Pages
5. Navigating Between Pages
Next.js๋ ๊ธฐ์กด์ <a>
ํ๊ทธ ๋์ <Link>
์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ฅผ ๊ถ์ฅํ๋ค.
<Link>
์ปดํฌ๋ํธ๋ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ค๋น๊ฒ์ด์
์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋๋ฐ, ์ด๊ฒ์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ํ์ด์ง ์ด๋์๋ง๋ค ์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก ๋ ๋๋ง ํ์ง ์๋๋ค๋ ๊ฒ์ด๋ค.