[AI 감성 일기장] Vite와 TypeScript에서 절대 경로 인식 오류 해결

Dev Log

문제 상황

Vite + TypeScript 환경에서 tsconfig.json에 정의된 절대 경로 별칭(@) 을 사용하여 모듈을 import했는데 오류가 발생했다.

 

원인 분석

절대 경로를 설정할 때 기존에 CRA에서 사용하던 방식과 똑같이 tsconfig.json에 설정을 해주었었다.

{
  "paths": {
    "pages/*": ["pages/*"],
    "components/*": ["components/*"],
    "util/*": ["util/*"]
  },
}

그런데 알고보니 이 설정이 타입스크립트에만 유효하고, Vite는 이를 직접적으로 해석하여 모듈을 로드하지 않는다고 한다.

 

각각의 역할

  • tsconfig.json의 paths: 타입스크립트가 타입 검사를 위해 사용
  • vite.config.ts의 resolve.alias: Vite가 개발 서버 또는 빌드 시 실제 파일 시스템에서 모듈을 찾아 로드하기 위해 사용

즉, 코드는 paths 덕분에 타입 오류 없이 작성되지만, 정작 Vite 개발 서버가 import 구문을 처리할 때 해달 별칭을 실제 경로로 변환하지 못하면서 "모듈을 찾을 수 없다"는 런타임/빌드 오류가 발생한 것이다.

 

해결 방안

이를 해결하기 위해서는 Vite의 설정 파일인 vite.config.ts에서 resolve.alias옵션을 사용하여 경로 별칭을 명시적으로 정의해줘야 한다.

export default defineConfig({
  resolve: {
    alias: {
      // `src` 디렉토리를 기준으로 각 경로 별칭 정의
      pages: "/src/pages", 
      components: "/src/components",
      // 여기에 필요한 추가 경로 별칭을 설정할 수 있다
    },
  },
});

참고로 경로 별칭을 설정할 때에는 /src/pages와 같이 경로 앞에 /를 붙여서 절대 경로로 처리되도록 해야 한다.

'Dev Log' 카테고리의 다른 글

[AI 감성 일기장] New 페이지 일기 작성 기능 구현  (0) 2025.11.07
[AI 감성 일기장] Home 페이지 날짜 관리 및 정렬 기능 구현  (0) 2025.11.07
[AI 감성 일기장] TypeScript에서 toSorted 메서드 인식 오류 해결  (0) 2025.11.07
[AI 감성 일기장] TypeScript로 재사용 가능한 공용 컴포넌트 구현  (0) 2025.11.06
[AI 감성 일기장] 리액트 프로젝트 마이그레이션 계획  (0) 2025.11.06
'Dev Log' 카테고리의 다른 글
  • [AI 감성 일기장] Home 페이지 날짜 관리 및 정렬 기능 구현
  • [AI 감성 일기장] TypeScript에서 toSorted 메서드 인식 오류 해결
  • [AI 감성 일기장] TypeScript로 재사용 가능한 공용 컴포넌트 구현
  • [AI 감성 일기장] 리액트 프로젝트 마이그레이션 계획
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19)
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4)
        • 네트워크 (1)
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    generic
    배열
    Pages Router
    C
    cs50
    바닐라 자바스크립트
    react
    useState
    자료구조
    알고리즘
    페이지 라우터
    algorithm
    emotion diary
    ai 감성 일기장
    javascript
    함수 타입
    Spa
    Trouble Shooting
    제네릭
    memory
    Next.js
    typescript
    타입 좁히기
    App Router
    트러블 슈팅
    CS
    앱 라우터
    인터페이스
    클래스
    문자열
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[AI 감성 일기장] Vite와 TypeScript에서 절대 경로 인식 오류 해결
상단으로

티스토리툴바