Skip to main content
sonamu.config.ts의 기본 프로젝트 설정을 다룹니다. 프로젝트 이름, API 경로, 시간대, 다국어 지원 등을 설정할 수 있습니다.

기본 구조

projectName

프로젝트의 이름을 정의합니다. 로그, 오류 메시지, Sonamu UI 등에서 표시됩니다. 타입: string (선택적) 기본값: 설정하지 않으면 SonamuProject

사용 예시

환경 변수로 설정:
환경별로 다른 프로젝트 이름을 사용하려면 환경 변수를 활용하세요. (e.g., MyProject-Dev, MyProject-Prod)

api 설정

API 관련 기본 설정을 정의합니다.

api.dir

API 코드가 위치한 디렉토리 이름입니다. 타입: string 기본값: "api"
대부분의 프로젝트에서 "api" 그대로 사용합니다. 특별한 이유가 없다면 기본값을 유지하세요.

api.route.prefix

모든 API 엔드포인트의 공통 접두사를 설정합니다. 타입: string 기본값: "/api"
예시: prefix: "/api"로 설정하면:
  • UserModel.listGET /api/user/list
  • PostModel.detailGET /api/post/detail
  • OrderModel.createPOST /api/order/create
prefix를 변경하면 프론트엔드에서 생성된 Service 코드도 함께 업데이트됩니다. 따라서 프로젝트 초기에만 변경하는 것을 권장합니다.
다른 prefix 예시:

api.timezone

서버의 기본 시간대를 설정합니다. 날짜/시간 관련 처리에 영향을 줍니다. 타입: string (선택적) 기본값: 시스템 기본값
지원하는 시간대 형식: IANA 시간대 데이터베이스 주요 시간대 예시:
  • "Asia/Seoul" - 한국
  • "America/New_York" - 미국 동부
  • "Europe/London" - 영국
  • "Asia/Tokyo" - 일본
  • "UTC" - 협정 세계시
글로벌 서비스라면 "UTC"를 사용하고, 클라이언트에서 사용자 시간대로 변환하는 것을 권장합니다.

i18n 설정

다국어 지원을 위한 국제화(i18n) 설정입니다. 타입: SonamuI18nOptions (선택적)

기본 설정

defaultLocale

기본 언어를 설정합니다. 다음 두 가지 역할을 합니다:
  1. 키 정의 기준: Entity의 label, enumLabel 등을 작성할 때 기준이 되는 언어
  2. 런타임 기본값: 사용자가 locale을 지정하지 않았을 때 사용할 언어

supportedLocales

지원할 모든 언어의 목록입니다. defaultLocale도 반드시 포함되어야 합니다.
defaultLocalesupportedLocales에 포함되어 있지 않으면 오류가 발생합니다.

i18n 비활성화

다국어 지원이 필요 없다면 i18n 설정을 생략하면 됩니다:

실전 예시

기본 프로젝트 설정

환경 변수 활용

글로벌 서비스

다음 단계

프로젝트 기본 설정을 완료했다면, 다음 설정들을 진행하세요:
  • database - 데이터베이스 연결 설정
  • server - 서버 옵션 및 플러그인 설정
  • sync-targets - 프론트엔드 동기화 대상 설정