목록 보기
하나의 프론트엔드 코드로 멀티 환경 운영하기
프론트엔드

하나의 프론트엔드 코드로 멀티 환경 운영하기

모두싸인
모두싸인
2025년 9월 12일

두줄요약

하나의 프론트엔드 코드베이스로 여러 환경을 운영하기 위해 분기 구조를 재설계했습니다. Route와 Component는 설정화·자동화하고, Logic은 단순 플래그로 유지해 생산성과 DX를 개선했습니다.

문제 상황

  • 모두싸인 프론트엔드에서 일반용, 공공용, 온프레미스 등 여러 환경을 하나의 코드베이스로 운영해야 하는 상황
  • 환경별 요구사항을 if/else로 흩어지게 처리하면 유지 보수성 저하, 온보딩 비용 증가, 리뷰·QA 복잡성 증가 문제 발생
  • 별도 프로젝트 분리는 중복 개발과 코드 유지 비용 증가로 지속 운영이 어려운 구조

원인 분석

  • 분기 범위가 Route, Component, Logic 전반에 걸쳐 다양하게 발생
  • 컴포넌트 수가 2,000개 이상이고 선언 방식도 다양해 일괄적인 수동 관리가 어려움
  • 환경별 라우트와 설정이 많아질수록 조건문과 중복 파일이 급증하는 구조

해결 방법

  • 분기 대상을 Route, Component, Logic 세 레이어로 구분해 접근
  • Route는 YAML 설정과 Glob Pattern으로 중앙집중화하고, 런타임에서 라우트 차단 처리
  • Component는 주석 메타데이터, AST 파싱, 캐시, Vite Plugin, ESLint Plugin으로 자동 수집·검증
  • Logic은 기존 boolean 플래그 기반의 단순 분기 유지

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...