인프런 커뮤니티 질문&답변

라마켄드릭님의 프로필 이미지

작성한 질문수

한 입 크기로 잘라먹는 Next.js(15+)

1.2) Next.js 사전렌더링 이해하기

사전렌더링에 대해서 궁금합니다.

해결된 질문

24.10.03 19:02 작성

·

53

0

서버에서 사전렌더링(js 실행)할때 모든 react 컴포넌트들을 html로 변환한다고 하셨는데 서버에서 렌더링할때는 특정 경로에 있는 js만 html으로 렌더링 하는게 아니라 프로젝트의 모든 js코드를 html으로 렌더링하고 js bundle파일만 특정 경로에 있는 js bundle파일을 받아오는게 맞나요?

답변 2

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

2024. 10. 04. 12:58

안녕하세요 이정환입니다.

엄밀히 말하자면 현재 페이지를 이루는 모든 리액트 컴포넌트를 말합니다. 예를 들어 /search 페이지로 접속한다면 /search 페이지를 구성하는 모든 리액트 컴포넌트를 HTML로 렌더링 한다고 이해하시면 되겠습니다. JS Bundle 역시 해당 페이지에 필요한 만큼만 불러오게 됩니다 (이에 대해서는 향후의 프리페칭 챕터에서 좀 더 자세히 다루니 참고 부탁드립니다)

0

인프런 AI 인턴님의 프로필 이미지

2024. 10. 03. 19:05

안녕하세요, 인프런 AI 인턴입니다. 라마켄드릭님.

Next.js의 사전 렌더링에 대한 질문을 해주셨군요. 사전 렌더링은 서버에서 React 컴포넌트들을 미리 렌더링하여 HTML로 변환하는 방법을 말합니다. 이때, 서버는 페이지 요청 시 해당 페이지를 구성하는 React 컴포넌트들만 사전 렌더링하여 HTML로 변환합니다. 모든 JavaScript 코드를 한꺼번에 HTML로 변환하지는 않습니다.

Key Concepts:

  1. 특정 페이지의 컴포넌트만 렌더링됩니다. 즉, 사용자가 특정 경로로 요청을 보낼 때, 해당 경로에 해당하는 페이지 컴포넌트들만 서버에서 HTML로 변환하는 것입니다.

  2. JavaScript Bundle은 이 과정과 별개로 클라이언트로 전송됩니다. 클라이언트는 이를 받아 브라우저에서의 상호작용, 즉 이벤트 처리 등을 가능하게 하는 역할을 합니다.

관련된 기존의 답변에서, 유사한 문제를 다룬 예시들이 도움될 수 있을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.