Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 프론트엔드
- 자바스크립트
- 프런트엔드
- 디자인 패턴
- 서버
- 코드테스트
- java
- oracle
- JavaScript
- 오라클
- 미니정리
- BACK-END
- 코드 테스트
- 자바
- web
- SQL
- jsp
- 알고리즘
- 백엔드
- spring
- Next.js
- node.js
- 프로그래머스
- 쿼리
- jpa
- 스프링부트
- MySQL
- 정리
- 스프링
- 데이터베이스
Archives
- Today
- Total
참치코더의 꿈 메모장
Next.js / 정적 메타 데이터 VS 동적 메타 데이터 비교 본문
728x90

1. 정적 메타데이터 (metadata)
|
1
2
3
4
5
6
7
8
|
// page.tsx
export const metadata = {
title: "Home",
description: "Welcome to the homepage"
}
|
cs |
- 데이터 : 고정값으로 페이지마다 미리 정의
- 사용 시점 : 빌드 시점에 이미 메타데이터가 생성됨
- API 호출 : 불가능 (비동기 호출 불가)
- 장점 : 단순하고 빠름, 빌드 최적화 가능
- 단점 : 페이지 내용에 따라 동적으로 변경 불가
2. 동적 메타데이터 (generatedMetadata)
|
1
2
3
4
5
6
7
8
9
10
11
|
// page.tsx
import {getMovie} from "../../../components/movie-info";
export async function generateMetadata({ params }: {params: {id: string} }){
const movie = await getMovie(params.id);
return {
title: movie.title, // 이러면 웹 브라우저 title에 비동기적으로 값이 변경된다.
description: movie.overview,
}
}
|
cs |
- 데이터 : API, DB 등 비동기 데이터 기반으로 생성
- 사용시점 : 서버에서 페이지 렌더링 시 호출 (빌드 시점이 아니라 런타임 가능)
- API 호출 : 가능
- 장점 : 페이지 내용에 따라 실시간으로 title, description, og:image 등 변경 가능
- 단점 : 구현 복잡, fetch 실패 시 예외 처리 필요, 렌더링 속도에 영향 가능
페이지 내용이 고정이면 metadata만 사용하면 되고,
페이지 내용이 동적이면 generateMetadata를 사용하면 된다.
둘다 같은 파일에서 동시 호출은 불가능 하다. ()
728x90
'Next.js' 카테고리의 다른 글
| Next.js / ISR(Incremental Static Regeneration), 메타데이터 설정법 정리 (0) | 2025.11.11 |
|---|---|
| Next.js / SSG(Static Site Generation) 미니 정리 (0) | 2025.11.07 |
| Next.js / Suspense 사용법(각 컴포넌트 캐시 할당 및 병렬 출력), Error 페이지 만드는 방법 정리 (코드 위주) (0) | 2025.10.06 |
| Next.js / API 서버 호출 및 동시 호출 방법 정리(코드 위주) (0) | 2025.10.05 |
| Next.js / 기본적인 파일 기반 라우팅(폴더 구조), CSR VS SSR, 메타데이터 정리 (0) | 2025.10.02 |
Comments