사전 렌더링이란 각 요청에 대해 동적으로 생성하는 것이 아니라 빌드 시 한 번만 페이지에 대한 HTML을 생성하는 것을 의미합니다.
이것의 장점은 정적 데이터를 제공하는 것이 매우 저렴하고 성능이 우수하므로 캐시 제어 헤더를 걱정할 필요 없이 대량의 사용자에게 쉽게 서비스를 제공할 수 있다는 것입니다. (캐시 제어 헤더는 올바르게 설정하기 어려운 부분이 있습니다.)
단점으로는 빌드 프로세스가 더 오래 걸리고 사전 렌더링 된 콘텐츠는 새 버전의 애플리케이션을 빌드하고 배포해야만 업데이트할 수 있다는 것입니다.
페이지를 사전 렌더링 하려면 prerender
를 true
로 설정하세요.
src/routes/+page.server.js
export const prerender = true;
이 튜토리얼에서는 dev
모드에서 실행되고 있기 때문에 확인 가능한 효과가 없습니다.
모든 페이지를 사전 렌더링 할 수 있는 것은 아닙니다. 기본 규칙은 다음과 같습니다. 사전 렌더링이 가능하려면, 동일한 페이지에 액세스하는 모든 사용자에게 서버에서 받아오는 HTML 콘텐츠가 동일해야 합니다. 동적 경로 매개변수가 있는 페이지는 prerender.entries
구성에 명시되어 있거나 prerender.entries
에 있는 페이지에서 링크를 통해 도달할 수 있는 경우에 한하여 사전 렌더링 될 수 있습니다.
루트
+layout.server.js
에서prerender
를true
로 설정하면 스벨트킷이 정적 사이트 생성기(SSG)로 전환됩니다.