Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 회사
- js
- 코딩테스트
- 내밥줄지켜
- 타입스크립트
- 웹개발
- react
- 프론트엔드
- 밥줄지키기프로젝트
- 2026
- 파킨슨병
- Next
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #next.js #프론트엔드개발자양성과정 #개발자교육과정
- 코딩
- Web
- AI에게서 살아남기
- 밀러컬럼
- 백엔드
- 프로그래밍
- 개발자
- 개발
- 프로그래머스
- pccp
- 새복많
- frontend
- javascript
- 블레이버스
- 30대까지이루기
- 자바스크립트
- 신입
Archives
- Today
- Total
낭 만 당
Next.js 개념 정리 본문
Next.js 개념 정리
Next.js란?
Next.js는 React 기반의 서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG)을 지원하는 프레임워크입니다. SEO 친화적이며, 빠른 페이지 로드와 개발 생산성을 제공합니다.
Next.js의 동작 원리
- SSR (Server Side Rendering): 서버에서 React 컴포넌트를 렌더링하여 HTML을 클라이언트로 전달합니다.
- SSG (Static Site Generation): 빌드 시 HTML 파일을 생성해 클라이언트로 제공합니다.
- CSR (Client Side Rendering): 브라우저에서 JavaScript로 렌더링을 처리합니다.
- ISR (Incremental Static Regeneration): SSG에 동적 콘텐츠 업데이트를 추가한 방식입니다.
Next.js의 파일 구조
/pages: 라우팅에 사용되는 페이지 컴포넌트 폴더. 파일 이름이 URL 경로를 정의합니다./public: 정적 파일을 저장하는 폴더. 브라우저에서 직접 접근 가능합니다./components: 재사용 가능한 UI 컴포넌트를 저장하는 폴더./styles: CSS 또는 스타일 관련 파일을 저장하는 폴더./api: API 라우트를 정의하는 폴더. 서버에서 실행됩니다.
세부 개념
1. 라우팅
Next.js는 파일 기반 라우팅을 제공합니다. /pages/index.js는 루트 경로(/)에 매핑됩니다.
// pages/about.js
export default function About() {
return
About Page
;
}
위 파일은 /about 경로에서 접근 가능합니다.
2. 데이터 페칭
getStaticProps: 정적 생성 시 데이터를 가져옵니다.getServerSideProps: 요청 시 서버에서 데이터를 가져옵니다.getStaticPaths: 동적 라우팅에서 정적 페이지를 생성합니다.
3. CSS 스타일링
CSS Modules: 파일 이름 뒤에.module.css를 붙여 컴포넌트 단위로 스타일을 적용합니다.Styled JSX: 컴포넌트 내부에 CSS를 작성할 수 있는 방법입니다.- 전역 스타일:
/styles/global.css에 작성해 모든 컴포넌트에 적용할 수 있습니다.
4. API 라우트
API 라우트는 /pages/api 폴더에 정의하며, 서버에서 실행됩니다.
// pages/api/hello.js
export default function handler(req, res) {
res.status(200).json({ message: "Hello, World!" });
}
5. 이미지 최적화
Next.js는 기본적으로 이미지 최적화를 제공합니다.
import Image from 'next/image';
function MyComponent() {
return (
);
}
장점
- 빠른 초기 로드 및 SEO 최적화
- 파일 기반 라우팅으로 간편한 구조
- 데이터 페칭 방식 선택 가능
- SSR, SSG, ISR 등 다양한 렌더링 방식 지원
단점
- 복잡한 설정이 필요한 경우가 있음
- SSR을 사용할 때 서버 부하가 증가
'Programming Record > Frontend' 카테고리의 다른 글
| 첫 3개월, 프론트엔드개발자로의 첫 사회 생활..기술적 회고 (0) | 2026.03.25 |
|---|---|
| Next.js에 대해서 - prologue (7) | 2025.07.26 |
| 웹 렌더링을 향상시키는 법, lazy loading에 대하여 (7) | 2025.07.12 |
| JavaScript와 TypeScript 무엇이 다를까? (1) | 2025.06.25 |
| React에서의 useNavigate와 Link (3) | 2024.11.26 |