PPR 적용 후 여전히 SSG로 배포되는 이슈
237
投稿した質問数 1
안녕하세요 조은님!! 😀 강의 너무 잘봤고 완강 후 질문 남깁니다!
마지막 기능인 PPR와 Suspense를 적용한 이후에 html에서 확인해봤을 때 동적인 요소로 채워지고 있는 것을 확인할 수 있었습니다.
그런데 Vercel에서 Build Logs를 확인해보면
◐ (Partial Prerender) 으로 뜨는 것이 아니라 여전히 ● (SSG) prerendered as static HTML 으로 뜨는데요, PPR 적용이 잘 된게 맞을까요?
Suspense가 적용이 잘 되는데 PPR은 적용이 안된걸까요?
코드 작업 후 적용결과 첨부하겠습니다!





回答 3
0
다연님, 안녕하세요. 메일 보내주셔서 답변 드릴 수 있게 됐어요! 감사합니다.
next.config.js 파일을 수정해주셔야 할 것 같아요. 다음과 같이 수정해보시면 PartialPrerendering이 정상 동작하는 것을 확인하실 수 있어요.
const createMDX = require("@next/mdx");
// module.default = {
// experimental: {
// ppr: true,
// },
// };
const withMDX = createMDX({
extension: /\.mdx?$/,
});
module.exports = withMDX({
pageExtensions: ["js", "jsx", "ts", "tsx", "md", "mdx"],
experimental: { // 여기로 설정을 옮겼어요!
ppr: true,
},
});
아마도 MDX 설정을 추가하시는 과정에서 파일이 변경되면서 설정 충돌이 난 것 같아요. 적용 해보시고도 문제가 있으면 다시 질문 남겨주세요!
메일 보내주셔서 감사합니다. 궁금한 점이 있다면 언제든 또 질문 주세요!
0
Dayeon님! 답변이 늦어서 정말 죄송해요.
남겨주신 상황을 보니 저도 왜 그런지 알기 어렵네요! 캡쳐해주신 부분은 모두 잘해주신 것으로 보여요. 혹시 가능하다면 작업 중이신 코드 저장소 링크를 공유해주실 수 있을까요? 여기에 링크 올리시기 어렵다면 제 계정(imjoeunha@gmail.com, https://github.com/hajoeun)에 공유해주시면 될 거 같아요.
공유해주시면 저도 테스트 해보고 바로 답변 드릴게요!
질문 남겨주셔서 정말 감사해요!
0
안녕하세요, 인프런 AI 인턴입니다. dayeon Kim님 질문 주셔서 감사합니다.
PPR(Partial Prerendering)을 적용하고자 하였지만, Vercel의 빌드 로그에서 SSG(Static Site Generation)로 표시되는 것은 어느 부분에서 설정이 다르게 되어있는지 체크해야 할 필요가 있을 것 같습니다.
PPR 적용 확인 체크리스트
Next.js 버전 문제:
next패키지가14.1.1-canary.46로 설정되어 있는데, PPR은 해당 버전에서 Preview 기능으로, Canary 버전에서만 사용 가능할 수도 있습니다. 공식 문서를 참고하여 해당 Canary 버전에서 PPR이 제대로 지원되는지, 그리고 그 버전을 사용 중인지 확인해보세요.next.config.js 설정:
next.config.js파일에서experimental: { ppr: true }로 설정되어 있는지 확인하셨겠지만, 혹시 놓친 부분이 없는지 확인이 필요합니다.정확한 PPR 사용 방법: PPR 적용 시 렌더링되는 페이지의 코드가 제대로 설정되어 있는지, 특히 Suspense와 함께 사용될 때 올바르게 비동기 데이터를 가져오고 있는지 확인해보세요. Suspense가 제대로 동작한다고 하여도, PPR은 다른 설정을 필요로 할 수 있습니다.
Vercel 로그 확인: Vercel의 Build Logs를 다시 한번 확인해서 PPR을 제대로 인식하지 못하는 부분이 있는지 세부적으로 살펴보는 것이 중요합니다. 특별한 경고나 오류 메시지가 없는지도 확인해주세요.
참고 링크 및 문서
- PPR 기능에 대한 자세한 내용은 Next.js 공식 문서에서 최신 정보를 확인하실 수 있습니다.
- Vercel의 예제 프로젝트 혹은 문서를 통해서 동일한 기능이 어떻게 적용되는지를 비교해보시면 문제를 해결하는 데 도움이 될 것입니다.
현재 상황은 설정이나 사용 방법에서의 미세한 차이로 나타난 결과일 수 있어, 실수할 수 있는 부분을 다시 한번 점검하시면 해결의 실마리를 찾으실 수 있을 거라 생각합니다.
저는 질문자님의 이해를 돕고자 기존 지식공유와 답변 링크를 참고하여 설명드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
명시적 타입 선언(콜론 타입 선언)과 as 타입 단언 차이
0
5
1
max x5 플랜을 결제했습니다.
0
8
1
클로드 초기 설정
0
8
1
사용자 스코프 설정 파일 적용 문제
0
8
1
클로드코드 유료플랜 할인 방법이 있을까요?
0
22
0
API Error : 400 에러의 원인과 해결방법이 궁금합니다!!
0
16
2
퍼미션 권한 설정 문의
0
19
2
Next.js + Tanstack Query BFF 구조 질문
0
13
1
커서에서 shift+enter가 안됩니다.
0
20
2
mcp 설치를 못하겠어요
0
35
2
라이브러리 관련 질문 있습니다!
0
26
2
노션 학습 자료 권한 요청
0
17
1
output-styles은 Claude Code의 공식 기능이 아니라고 하는데 혹시 변경된걸까요?
0
26
2
클로드 변경
0
26
2
/config 에서 output-style 을 변경
0
24
1
sitemap 에 Pormise가 필요한 이유
0
49
2
getPostData 함수 질문
0
50
1
초반부 pnpm dev 후 발생하는 에러
1
529
2
배포 후, 조회수 증가 이슈
1
258
1
추가로 Head tag에서 작성된 script 코드 관련하여 질문드리고 싶습니다. (feat. 즉시 실행 함수, dangerouslySetInnerHTML)
1
254
2
Head tag에서 script를 작성하는 이유에 대해서 여쭤보고 싶습니다! (+ NextJS의 Head tag와 Script tag)
1
173
1
완강하고 질문 드립니다
1
185
2
다크모드 적용
1
361
2
PPR 적용 한 후 에러가 났습니다.
1
298
2

