Payload CMS & Astro
PayloadCMS는 Astro 프로젝트에 콘텐츠를 제공하는 데 사용할 수 있는 헤드리스 오픈 소스 콘텐츠 관리 시스템입니다.
Astro와 통합
섹션 제목: Astro와 통합전제 조건
섹션 제목: 전제 조건- Astro 프로젝트 - 아직 Astro 프로젝트가 없다면 설치 가이드를 참조하여 바로 실행해 보세요.
- MongoDB 데이터베이스 - PayloadCMS는 새 프로젝트를 생성할 때 MongoDB 연결 문자열을 요청합니다. 로컬로 설정하거나 MongoDBAtlas를 사용하여 웹에서 무료로 데이터베이스를 호스팅할 수 있습니다.
- PayloadCMS REST API - PayloadCMS 프로젝트를 생성하고 설정 중에 MongoDB 데이터베이스에 연결합니다.
PayloadCMS 설치 중에 템플릿을 사용할지 묻는 메시지가 표시됩니다.
이 단계에서 사용 가능한 템플릿 (예: ‘blog’)을 선택하면 사용할 추가 컬렉션이 자동으로 생성됩니다. 그렇지 않으면 PayloadCMS 컬렉션을 수동으로 생성해야 합니다.
PayloadCMS 컬렉션을 위한 Astro 구성
섹션 제목: PayloadCMS 컬렉션을 위한 Astro 구성Payload 프로젝트 템플릿에는 src/collections/
에 Posts.ts라는 파일이 포함됩니다. 설치 중에 콘텐츠 컬렉션을 생성하는 템플릿을 선택하지 않은 경우 이 구성 파일을 수동으로 추가하여 새 Payload CMS 컬렉션을 생성할 수 있습니다. 아래 예는 title
, content
, slug
필드가 필요한 posts
컬렉션에 대한 파일을 보여줍니다.
-
Users
(모든 PayloadCMS 프로젝트에서 사용 가능)와 기타 컬렉션 (예:Posts
)을 모두 가져와payload.config.ts
파일의 사용 가능한 컬렉션에 추가합니다.이렇게 하면 PayloadCMS 대시보드의 “Users” 컬렉션 옆에 “Posts”이라는 새 컬렉션이 표시됩니다.
-
“Posts” 컬렉션에 들어가서 새 게시물을 작성하세요. 저장한 후 오른쪽 하단에 API URL이 나타나는 것을 확인할 수 있습니다.
-
개발 서버가 실행 중인 상태에서 브라우저에서
http://localhost:4321/api/posts
를 엽니다. 객체로 생성한 게시물이 포함된 JSON 파일이 표시됩니다.
기본적으로 Astro와 PayloadCMS는 모두 포트 4321을 사용합니다. src/server.ts
파일에서 PayloadCMS 포트를 변경하고 싶을 수도 있습니다. src/payload.config.ts
파일에서도 serverURL
을 업데이트하는 것을 잊지 마세요.
데이터 가져오기
섹션 제목: 데이터 가져오기사이트의 고유한 REST API URL과 콘텐츠 경로를 통해 PayloadCMS 데이터를 가져옵니다. (기본적으로 PayloadCMS는 /api
를 통해 모든 경로를 마운트합니다.) 그런 다음 Astro의 set:html=""
지시문을 사용하여 데이터 속성을 렌더링할 수 있습니다.
여러분의 게시물과 함께 PayloadCMS는 일부 최상위 메타데이터를 반환합니다. 실제 문서는 docs
배열 내에 중첩됩니다.
예를 들어 게시물 제목과 내용 목록을 표시하려면 다음을 수행하세요.
PayloadCMS와 Astro로 블로그 구축하기
섹션 제목: PayloadCMS와 Astro로 블로그 구축하기블로그 색인 페이지 src/pages/index.astro
를 만들어 각 게시물을 해당 페이지에 대한 링크와 함께 나열하세요.
API를 통해 가져오면 다음 속성을 포함하는 객체 (게시물) 배열이 반환됩니다.
title
content
slug
PayloadCMS API를 사용하여 페이지 생성
섹션 제목: PayloadCMS API를 사용하여 페이지 생성src/pages/posts/[slug].astro
페이지를 생성하여 각 게시물에 대한 페이지를 동적으로 생성합니다.
사이트 게시
섹션 제목: 사이트 게시사이트를 배포하려면 배포 가이드를 방문하여 선호하는 호스팅 제공업체의 지침을 따르세요.
커뮤니티 자료
섹션 제목: 커뮤니티 자료- Payload CMS & Astro 템플릿을 시도하세요.
- Docker를 사용한 손쉬운 개발 및 VPS 배포에 대해서는 Astroad를 확인하세요.