점점 더 지저분해지는 import 경로를 도저히 볼 수 없어서 절대경로를 추가하기로 했다.

1
import Logo from '../../../../../assets/images/logo.svg';

우우.. 👎 리팩토링을 진행하면서 컴포넌트를 더 잘게 쪼개다보니 path level이 너무 깊어졌다. 이대로는 안되겠다 싶었다.

적용 방법

babel-plugin-module-resolver를 설치한다.

1
yarn add --dev babel-plugin-module-resolver

프로젝트 root 경로에 있는 babel.config.js 파일을 열어 아래와 같이 수정한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
// other plugins...
[
'module-resolver',
{
root: ['./src'],
alias: {
'@': './src',
'@assets': './src/assets',
'@constants': './src/constants',
'@contexts': './src/contexts',
'@hooks': './src/hooks',
'@interfaces': './src/interfaces',
'@styles': './src/styles',
},
},
],
],
};

이렇게만 하면 적용된다. 서버를 재시작 후에도 에러가 발생한다면 yarn start:development --reset-cache로 캐시를 지우고 실행해보자.