Rust/Axum과 Svelte/SvelteKit의 모놀리식 배포: 우아한 해결책?

2025-05-30

본 글에서는 웹 개발에서 SPA(싱글 페이지 애플리케이션)를 배포하는 기존과 다른 방법을 제시합니다. 바로 빌드된 SPA를 백엔드 바이너리 파일에 직접 포함시키는 방식입니다. 이 방법은 배포 간소화(바이너리 파일 하나), 코드 간소화(CORS 고려 불필요)라는 장점이 있지만, 바이너리 파일 크기 및 메모리 사용량 증가, 개발 경험의 약간의 저하(핫 리로딩 없음)라는 단점도 있습니다. 저자는 Rust/Axum과 Svelte/SvelteKit을 사용하여 이 방법을 시연하고, Moon 빌드 툴을 사용한 모노레포 설정, rust-embed 라이브러리를 사용한 프런트엔드 빌드 결과물 포함 방법을 자세히 설명합니다. 결과적으로 백엔드에서 데이터를 가져오고 백엔드 내에서 탐색하는 간단한 SPA가 구현됩니다.

개발