728x90
Next.js는 개발자들이 효율적으로 작업할 수 있도록 폴더와 파일 구조에 명확한 규칙을 제공합니다.
덕분에 프로젝트 규모가 커져도 체계적인 코드 관리가 가능하죠.
✅ 기본 폴더 구조
예를 들어:
- app 폴더
- 파일 기반 라우팅
- 폴더/파일 이름이 URL 경로가 됨
- ex) app/about/page.tsx → /about 라우트 생성
- public 폴더
- 정적 파일(이미지, 폰트, favicon 등) 관리
- public 폴더 안의 파일은 URL로 접근 가능
- 예) /public/images/logo.png → /images/logo.png
- components 폴더
- UI 컴포넌트 모아두는 폴더
- 재사용성과 유지보수에 유리
✅ 라우트(Route)란?
라우트(Route) = 웹 애플리케이션에서 특정 리소스에 접근하기 위한 경로나 주소
- /about → About 페이지
- /blog/123 → 블로그 글 상세 페이지
✅ 세그먼트(Segment)란?
URL 경로에서 슬래시(/)로 구분되는 각각의 부분
예) /blog/posts/123 경로에서
- blog → 세그먼트
- posts → 세그먼트
- 123 → 세그먼트
- 루트 세그먼트
- 웹사이트의 시작점
- 경로: /
- 리프 세그먼트
- URL 경로의 마지막 부분
- 예) /blog/posts/123 → 123이 리프 세그먼트
✅ 페이지 간 링크 연결
Next.js에서 라우트 간 이동은 <Link> 컴포넌트로 처리합니다.
HTML의 <a> 태그와 비슷하지만, 추가 기능이 있습니다:
✅ <Link>의 특징
- 클라이언트 사이드 내비게이션
- 전체 페이지 새로고침 없이 화면만 바뀜
- Prefetching
- 사용자가 클릭하기 전에 필요한 페이지 데이터를 미리 로드
- UX가 매우 빨라짐
✅ 사용 예시
예) 블로그 포스트 목록 만들기
// app/blog/page.tsx
import Link from "next/link";
export default function BlogPage() {
const posts = [
{ id: 1, title: "Next.js 라우팅 이해하기" },
{ id: 2, title: "Next.js API Routes 완전정복" },
];
return (
<div>
<h1>블로그 목록</h1>
<ul>
{posts.map((post) => (
<li key={post.id}>
<Link href={`/blog/${post.id}`}>
{post.title}
</Link>
</li>
))}
</ul>
</div>
);
}
✅ 결과
위 코드를 실행하면 /blog 페이지에서:
- “Next.js 라우팅 이해하기” 클릭 → /blog/1로 이동
- “Next.js API Routes 완전정복” 클릭 → /blog/2로 이동
모두 새로고침 없이 부드럽게 이동합니다.
✅ 한 줄 요약
Next.js는 폴더 구조 기반 라우팅 + 클라이언트 내비게이션으로
웹앱 개발을 쉽고 빠르게 만들어줍니다!
728x90
'개발자 성장 로드맵 > 프론트엔드' 카테고리의 다른 글
| ESLint, Prettier, TypeScript 설정부터 shadcn/ui 설치까지 한 번에 끝내기 (11) | 2025.07.15 |
|---|---|
| 비동기가 뭐길래? 자바스크립트 Promise와 async/await 쉽게 풀어보기 (1) | 2025.07.14 |
| Next.js 렌더링 완전 정복! CSR·SSR·SSG·ISR을 카페 배달로 쉽게 이해하기 (2) | 2025.07.14 |
| nvm 설치와 자바스크립트 얕은 복사 vs 깊은 복사 완전 정리 (6) | 2025.07.11 |
| 모듈 번들러(Webpack) 완전 정리 (2) | 2025.07.11 |