1. craco를 설치한다.
yarn add @craco/craco craco-alias
2. tsconfig.path.json 파일 생성 후
아래와 같이 paths 안에 등록하고 싶은 경로와 그 경로의 별칭을 추가해준다.
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@src/*": ["src/*"],
"@hooks/*": ["src/hooks/*"],
"@components/*": ["src/components/*"],
"@layouts/*": ["src/layouts/*"],
"@pages/*": ["src/pages/*"],
"@typings/*": ["src/typings/*"],
"@utils/*": ["src/utils/*"]
}
}
}
3. craco.config.js 파일 생성 후, 2번에서 설정한 내용을 아래처럼 옵션에 설정해준다.
const CracoAlias = require("craco-alias");
module.exports = {
plugins: [
{
plugin: CracoAlias,
options: {
source: "tsconfig",
tsConfigPath: "tsconfig.paths.json",
},
},
],
};
4. tsconfig.json에 위의 내용들 연결하기
{
"extends": "./tsconfig.paths.json", //tsconfig.path.json의 설정을 상속받고
"compilerOptions": {
//설정 내용~~
},
"include": [
"craco.config.js", // 위에서 추가한 설정들을 컴파일 범위에 포함시킨다.
"src"
],
}
5. 마지막으로 package.json 파일의 script 명령어 부분을 아래와 같이 수정한다.
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
},
6. 프로젝트를 다시 실행하면
yarn start
7. import 할 때 2번에서 설정한 별칭을 사용해서 절대경로를 사용할 수 있다~!!!
const SignUp = loadable(() => import("@pages/Signup/index")); //이렇게 절대경로 사용 가능
참고한 글:
'Web > React.js' 카테고리의 다른 글
러닝리액트 요약 Day1 (0) | 2023.01.07 |
---|---|
npm run start가 안된다면..!! ( 리액트 웹팩 버전 안 맞을 때 ) (0) | 2021.01.12 |