상대경로로 파일 import시 깊어지게 되거나 폴더가 복잡할 시 찾는데 시간이 오래 지체됨.
하지만 절대 경로로 파일을 import해주면 가독성도 좋고 금방 찾을 수 있다.
jsconfig.json파일이 있으면 해당 디렉토리가 JavaScript 프로젝트의 루트임을 나타낸다.{
"compilerOptions": {
// baseUrl: 절대적 모듈 이름들의 기준이 되는 기준 Url
"baseUrl": "src"
},
"include": [
"src"
]
}
src/components/main.jsx 와 같은 방법
{
"compilerOptions": {
// baseUrl: src로 작성하면 src가 기준이 됨.
"baseUrl": "src",
// 예약어가 @가 된다. 좌측에 사용할 이름, 우측에 사용될 디렉토리 주소 작성
"paths": {
"@*": [*"src/*"*]
}
}
}
/
vite.config.js
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import { resolve } from 'path';
export default defineConfig({
plugins: [react()],
// resolve: Vite 설정 파일에서 모듈 해석과 관련된 설정을 정의하는 데 사용.
resolve: {
// alias: 특정 경로에 대한 별칭 -> 코드의 가독성/유지보수 용이하게 함.
alias: [
// find: 찾을 경로 패턴(별칭), replacement: 실제 경로
{ find: '@', replacement: resolve(__dirname, 'src') },
{ find: '@pages', replacement: resolve(__dirname, 'src/pages') },
]
}
})
{ find: '@', replacement: resolve(__dirname, 'src') }
@를 src 디렉토리로 매핑. 예를 들어, @/components/Button은 src/components/Button으로 해석.{ find: '@pages', replacement: resolve(__dirname, 'src/pages') }
@pages를 src/pages 디렉토리로 매핑합니다. 예를 들어, @pages/HomePage는 src/pages/HomePage로 해석.https://mingeesuh.tistory.com/entry/React-절대경로-설정-및-컴포넌트-불러오기