일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스
- 자바스크립트
- 크라코
- Android
- react-native-image-picker
- 배열
- react-native-camera-roll
- react-hook-form
- 유니온타입
- React
- 자료구조와알고리즘
- 리액트
- 리액트쿼리
- sort( )
- 리액트네이티브
- 코드숨
- 파스에러
- react-native
- 타입스크립트
- reactnative
- craco
- react-native-vision-camera
- Typescript
- slice
- 제네릭타입
- Flipper
- js
- 모던자바스크립트
- javascript
- ios
Archives
- Today
- Total
KassyLog
Vite + TypeScript 절대경로 설정하기 본문
개발을 하다보면 절대경로가 필요해지는 순간이 온다.
폴더구조의 깊이가 생기면서 보기에 지저분해지는 import 문이 생기기때문이다.
예를들면, 요론느낌의 연속이 계속 되면 엄청 지저분해지는건 순식간이다!
import Input from '../../../components/Input';
사실 지금은 프로젝트 규모가 작아서 엄청 복잡하고 지저분한 코드는 아니지만, 나중에는 복잡하고 가독성이 떨어지게 될 것이다. 이를 방지하기 위해서 절대 경로를 설정하려고 한다.
여러 개발환경 중에서 나는 Vite + TypeScript 조합으로 절대경로를 설정하는 법을 기록해두려한다!
우선 내가 찾아본 방법 중에 플러그인을 설치하는 방법도 있는데 나는 프로젝트의 규모가 크지 않아서 tsconfig.json파일과 vite.config.ts파일만 수정해서 개발했다.
플러그인 중에는 vite-tsconfig-paths가 있는데 이 플러그인의 장점은 alias를 하나씩 설정해주지 않아도 된다는 점이다.
tsconfig.json
"compilerOptions": {
// ...
"baseUrl": "./src",
"paths": {
"@components/*": ["components/*"],
"@pages/*": ["pages/*"],
"@types/*": ["types/*"],
"@hooks/*": ["hooks/*"],
"@assets/*": ["assets/*"]
},
// ...
}
vite.config.ts
export default defineConfig({
plugins: [react()],
resolve: {
alias: [
{ find: "@", replacement: "/src" },
{ find: "@components", replacement: "/src/components" },
{ find: "@pages", replacement: "/src/pages" },
{ find: "@types", replacement: "/src/types" },
{ find: "@hooks", replacement: "/src/hooks" },
{ find: "@assets", replacement: "/src/assets" },
],
},
});
위 코드들은 폴더구조에 따라서 달라질 수 있으며, 현재 진행하고 있는 프로젝트의 폴더구조 형태에 따라 작성된 코드이다.
├─ src
│ ├─ App.tsx
│ ├─ assets
│ ├─ components
│ │ └─ ###.tsx
│ ├─ hooks
│ │ └─ ###.ts
│ ├─ index.css
│ ├─ main.tsx
│ ├─ pages
│ │ └─ ###.tsx
│ ├─ types
│ │ └─ ###.d.ts
│ └─ vite-env.d.ts
├─ tsconfig.json
├─ tsconfig.node.json
└─ vite.config.ts
내가 여기 작업하면서 실수 했던 부분이 vite.config.ts 여기서 find에는 별칭을, replacement에는 절대 경로를 입력해야하는데 별칭을 다르게 설정해서 계속 아래와 같은 에러가 발생했던 것이다.

단순히 별칭 문제인데 이 에러를 검색했더니 다른 원인들이 나와서 빙빙 둘러왔다!
@ 하나만 수정하면 되는 문제인데,, 허탈했지만 해결! 🙌
'studying' 카테고리의 다른 글
누구나 자료구조와 알고리즘 - 개정2판 / 코드숨 (1) (4) | 2024.03.13 |
---|---|
자료구조- 스택(Stack)과 큐(Queue) 개념 (0) | 2023.02.19 |