-
Notifications
You must be signed in to change notification settings - Fork 1
못생긴 상대경로에서 간zlzl존 절대경로로😎
개발을 하면서 import문은 당연히 작성하게 된다. 당신은 매번 폴더의 경로를 보면서 ..을 찍으며 현재 파일이 있는 디렉토리를 나가는게 일상이 되어 불편함을 못느꼈을 수도 있다. 하지만 편안함과 자동화에 미쳐버린 나는 폴더 경로를 보는 행위조차 귀찮아졌다. 귀찮음, 가독성뿐만 아니라 절대경로를 사용하면 경로를 잘못 입력하거나 계산하고 있는 일이 없어질 것이다!
# vite.config.ts
import { defineConfig } from 'vite';
import { resolve } from 'path';
// https://vitejs.dev/config/
export default defineConfig({
...
resolve: {
alias: {
'@components': resolve(__dirname, './src/components'),
'@container': resolve(__dirname, './src/container'),
'@core': resolve(__dirname, './src/core'),
'@images': resolve(__dirname, './src/images'),
'@page': resolve(__dirname, './src/page'),
'@util': resolve(__dirname, './src/util'),
},
},
});
vite 환경설정 파일(vite.config.ts)에서 resovle 옵션을 지정해주어 alias를 만들어주자. node에서 기본으로 제공해주는 path모듈의 resolve를 사용해주어 절대경로로 만들어 지정해주자!
여기까지 해주고 yarn으로 실행해주면... 페이지가 잘 뜬다 성공!!!
...? 어?
// tsconfig.json
{
"compilerOptions": {
...
"baseUrl": ".",
"paths": {
"@": ["src/*"],
"@components/*": ["src/components/*"],
"@container/*": ["src/container/*"],
"@core/*": ["src/core/*"],
"@images/*": ["src/images/*"],
"@page/*": ["src/page/*"],
"@util/*": ["src/util/*"]
}
},
...
}
typescript는 컴파일단계에서 에러를 검출하는데, alias에 대한 설명을 말해주지 않는다면 해당하는 모듈을 찾을 수 없다고 에러를 뱉는다. 그까이꺼 typescript의 configuration에서도 알려주면 해결된다.
해당 글을 작성한 이후, VSCode에서 모듈 자동완성 기능이 정상 작동하지 않는 것을 확인했다... src/components
경로에 해당한다면 @components
alias가 떠야하는데 @
가 떠버린 것이다! VSCode는 tsconfig.json
의 paths의 위부터 탐색해 맞는 경로가 있다면 바로 추천해준다. 현재 tsconfig.json
의 최상단에 src
경로를 가진 @
가 있었기에 더 깊은 경로가 있어도 @
로 처리해버렸던 것이다.
따라서 depth가 깊은 alias를 상단으로 올려주었다.
이제야 좀 이쁘고 멋져보이네😎 간단한 설정으로 당신의 경로를 이쁘게 만들어보세요!
- OaO 환경설정 A to Z
- CRLF 너가 뭔데 날 힘들게 해?
- Github Issue 똑똑하게 사용하기
- OAO! CI CD 적용기 with release 자동화
- 매번 다른 import문
- 못생긴 상대경로에서 간zlzl존 절대경로로😎
- TodoList API 개발기
- 의존성 주입으로 DB를 바꿔보자
- 렌더링 최적화 서막: useNavigate를 추가한 순간 리렌더 범위가 확장된 건에 대하여
- 렌더링 최적화 1탄: 렌더링 범위에 대하여 (by 최적화무새)
- 렌더링 최적화 2탄: 잘못된 custom hook 사용,, 전체 리렌더링을 부르다,,
- 렌더링 최적화 3탄: Todo 상세 좀 봤다고 테이블 전체가 재렌더링 되는건을 고치기😌
- 렌더링 최적화 4탄: 다이어그램 편
- 🐁 마우스 상대위치 계산은 이상해
- React 컴포넌트에 애니메이션을 적용해보자 🏃🏻💨
- 컴포넌트 재사용성을 높여보자: Modal 분리기 🌹
- 선후관계를 자동완성으로 추가해보자 🔎