Astro와 Bun을 활용한 서버 커스터마이징 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
Astro 프로젝트에서 Bun 서버를 사용하고자 하는 개발자. 중급 이상의 웹 개발 경험이 필요하며, 서버 커스터마이징에 관심 있는 개발자.
핵심 요약
adapter.ts
와bun-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
를 통해 동적 라우트를 처리하고 요청 헤더 정보를 전달
결론
Hono
와Bun
을 결합한 서버 구조는 서버 로직의 완전한 커스터마이징이 가능하며,astro:config:done
훅을 통해 어댑터를 쉽게 등록할 수 있음.- 정적 파일 서빙 및 동적 라우트 처리를 동시에 지원하는 유연한 SSR 구현 방식을 추천.