처음 만난 Next.js 문서


4.11

마치며

이번 장에서 배운 내용은 아래와 같습니다.

  • Pages
    • 일반적인 웹페이지와 같은 개념
    • 페이지를 구성하는 컴포넌트가 담긴 파일의 이름이 정해져 있음
      • page.js, page.jsx 또는 page.ts, page.tsx
    • 페이지 컴포넌트는 기본적으로 서버 컴포넌트
    • "use client" 지시어을 사용하여 클라이언트 컴포넌트로 설정할 수 있음
  • Layouts
    • 여러 웹페이지 간에 반복적으로 나타나는 화면 구성
    • 사용자가 페이지를 이동하더라도 사라지거나 다시 렌더링 되지 않고 계속해서 화면에 존재하게 됨
    • 레이아웃을 구성하는 파일의 이름이 정해져 있음
      • layout.js, layout.jsx 또는 layout.ts, layout.tsx
    • Root Layout
      • Next.js 애플리케이션의 최상위 레이아웃 (애플리케이션 전체에 적용 됨)
      • App Router를 사용하는 모든 Next.js 애플리케이션에는 Root Layout이 필수적으로 존재해야 함
    • Nesting Layouts
      • 각 페이지 또는 경로 별로 다른 레이아웃을 적용하고 싶을 때 사용
      • Root Layout을 포함해서 해당 페이지가 있는 폴더에 이르기까지 존재하는 모든 레이아웃이 다 중첩됨
  • Templates
    • 레이아웃과 유사하게 페이지의 틀을 잡아주는 역할
    • Template은 경로가 변경될 때마다 각 경로에 대해 새로운 인스턴스를 생성
      • 상태가 유지되지 않는 레이아웃
  • Metadata
    • Metadata란?
      • 웹사이트의 제목, 설명, 미리보기 이미지 등 웹사이트의 정체성을 나타내는 다양한 속성들을 의미
      • 사용자들이 Metadata를 통해서 어떤 웹사이트인지 파악할 수 있음
        • 웹사이트의 링크가 공유되었을 때
        • 검색 엔진의 검색 결과를 통해 노출되었을 때
    • Static Metadata
      • 정적인 메타데이터
      • layout.tsx 또는 page.tsx 파일에서 metadata 객체를 export하면 됨
    • Dynamic Metadata
      • 동적으로 변하는 메타데이터
      • 각 페이지마다 다른 메타데이터를 설정해야하는 경우에 사용
      • layout.tsx 또는 page.tsx 파일에서 metadata 객체를 반환하는 generateMetadata() 함수를 export하면 됨
    • SEO (검색엔진 최적화)
      • 웹사이트가 검색엔진에서 더 높은 순위에 나올 수 있도록 최적화하는 과정
      • 메타데이터를 잘 제공하는 것이 중요
      • 추가로 robots.txt 설정, Sitemap 설정도 필요

마지막 업데이트: 2025년 10월 24일 02시 10분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.

On this page

  • 4.11 마치며