해결된 질문
작성
·
186
답변 1
0
안녕하세요 질문 감사합니다.
말씀해주신대로 수만개가 되는 게시글을 모두 프리렌더링하는 것은 비효율적이기 때문에 합리적인 지적이십니다! 다만 Next.js는 이 경우에도 SSG를 적용할 수 있습니다.
getStaticPaths API를 사용할 때, return object의 fallback
에 false
대신 true
나 blocking
을 주면 됩니다. 이렇게 하면 처음 'next build'를 할 때 프리렌더링 되지 않은 페이지라도, 유저가 접근했을 때 프리렌더링을 수행합니다. (최초 유저가 접근할 경우 해당 페이지에 대한 HTML이 만들어지고, 다음 유저부터는 generate 되어 있는 HTML에 바로 접근하는 SSG 방식)
위의 글만으로는 이해가 힘드실텐데, 강의 4-4 'getStaticPaths로 각 매장의 상세 페이지 만들기'의 8분~11분 정도를 보시면 이해가 더 쉬우실 것 같습니다. 관련 공식문서 링크도 첨부해두겠습니다.
(링크: https://nextjs.org/docs/pages/api-reference/functions/get-static-paths#fallback-true)
감사합니다 :)
답변 감사드립니다!
그럼 getStaticPaths에서 return object의 paths를 빈 배열로 하고 fallback을 true로 해 유저가 최초 접근한 경우에만 html을 만들도록 하면 되는 걸까요?
그리고 이런 경우 엄청 큰 커뮤니티 사이트의 경우 서버 용량 문제는 없나요?