AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Astro와 Bun을 활용한 서버 커스터마이징 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

Astro 프로젝트에서 Bun 서버를 사용하고자 하는 개발자. 중급 이상의 웹 개발 경험이 필요하며, 서버 커스터마이징에 관심 있는 개발자.

핵심 요약

  • adapter.tsbun-adapter.ts 파일을 생성하여 Astro의 SSR을 Bun 서버에 맞춤화
  • Hono 프레임워크와 Bun을 결합하여 서버 로직을 완전히 제어
  • astro:config:done 훅을 통해 커스텀 어댑터를 Astro에 등록

섹션별 세부 요약

1. 어댑터 생성

  • adapter.ts 파일에서 AstroAdapter 인터페이스를 구현하고 serverEntrypoint를 지정하여 Bun 서버 진입점을 연결
  • supportedAstroFeatures에서 지원되는 기능을 명시 (예: staticOutput, serverOutput 등)
  • astroBunAdapter 함수를 정의하여 astro:config:done 훅에 어댑터를 등록

2. 어댑터 구현

  • bun-adapter.ts 파일에서 createExports 함수를 통해 SSRManifest를 반환하여 Astro의 정적 파일을 서빙
  • manifest 파일이 Astro의 빌드 결과를 포함하도록 구성

3. 서버 설정 (Hono + Bun)

  • Hono 프레임워크를 사용하여 /_astro/* 경로의 정적 파일을 처리
  • serveStatic 미들웨어로 캐싱 헤더 추가 및 public 폴더의 파일을 서빙
  • astroApp.render를 통해 동적 라우트를 처리하고 요청 헤더 정보를 전달

결론

  • HonoBun을 결합한 서버 구조는 서버 로직의 완전한 커스터마이징이 가능하며, astro:config:done 훅을 통해 어댑터를 쉽게 등록할 수 있음.
  • 정적 파일 서빙 및 동적 라우트 처리를 동시에 지원하는 유연한 SSR 구현 방식을 추천.