Craco Alias 설정을 통해 relative path hell 벗어나기

Sungmin·2023년 12월 18일
0

Craco는 Create Reacrt App Configuration override 약어로, CRA에 Webpack 설정을 eject할 필요없이 설정 파일을 새로 만들어서 웹팩 설정을 덮어쓰는데에 도움을 주는 패키지이다.
그 중, craco-aliasimport App from "../../../../App.js 같은 alias를 막기 위해 사용되는 node module 패키지이다.

1. craco 관련 패키지 설치

yarn add -D @craco/craco craco-alias

2. tsconfig.paths.json 파일 만들기

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "@/*": ["src/*"],
            "@components/*": ["src/components/*"],
          // alias를 주고 싶은 폴더를 추가하면 된다.
        }
    }
}

3. craco.config.js 파일 만들기

const CracoAlias = require('craco-alias')

module.exports = {
  plugins: [
    {
      plugin: CracoAlias,
      options: {
        source: 'tsconfig',
        tsConfigPath: 'tsconfig.paths.json',
      },
    },
  ]
}

4. tsconfig.json에 tsconfig.paths.js의 존재를 알게 해주기

"extends": "./tsconfig.paths.json""tsconfig.paths.json"를 추가한다.

// tsconfig.json
{
  "extends": "./tsconfig.paths.json", // 추가
  "compilerOptions": {
    ...
  },
  "include": [
	...
    "tsconfig.paths.json" // 추가
  ]
}
profile
Share everything that I like

0개의 댓글