Docs
Start
Path Aliases

Path Aliases

Path aliases는 TypeScript의 유용한 기능으로, 프로젝트 디렉토리 구조에서 멀리 떨어진 경로에 대한 단축 경로를 정의할 수 있습니다. 이를 통해 코드에서 긴 상대 경로를 피할 수 있으며, 프로젝트 구조를 리팩터링하기 쉽게 만들어줍니다. 특히 긴 상대 경로를 피해야 할 때 매우 유용합니다.

TanStack Start는 기본적으로 Path aliases를 포함하지 않지만, tsconfig.json 파일을 업데이트하여 프로젝트에 쉽게 추가할 수 있습니다. 프로젝트 루트의 tsconfig.json 파일에 다음 구성을 추가하세요:

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "~/*": ["app/*"]
    }
  }
}

이 예제에서, ~/*라는 Path alias를 정의했으며, 이는 app/* 디렉토리에 매핑됩니다. 이제 ~ 접두사를 사용하여 app 디렉토리의 파일을 import할 수 있습니다.

tsconfig.json 파일을 업데이트한 후, TanStack Start 프로젝트에서 Path aliases를 활성화하려면 vite-tsconfig-paths 플러그인을 설치해야 합니다. 다음 명령어를 실행하여 설치하세요:

npm install -D vite-tsconfig-paths

그런 다음, app.config.ts 파일을 업데이트하여 다음 구성을 추가하세요:

// app.config.ts
import { defineConfig } from "@tanstack/start/config";
import viteTsConfigPaths from "vite-tsconfig-paths";
 
export default defineConfig({
  vite: {
    plugins: [
      // Path aliases를 활성화하는 플러그인
      viteTsConfigPaths({
        projects: ["./tsconfig.json"],
      }),
    ],
  },
});

구성을 완료한 후, 이제 Path alias를 사용하여 다음과 같이 파일을 import할 수 있습니다:

// app/routes/posts/$postId/edit.tsx
import { Input } from "~/components/ui/input";
 
// 대신에
 
import { Input } from "../../../components/ui/input";