Language/Typescript
React Native/Typescript 환경에서 절대경로 설정하는 방법
Joonfluence
2022. 4. 1. 19:01
서론
대상독자
RN 개발 시, 절대경로 사용하고 싶은 개발자
학습목표
오늘은 RN Expo와 타입스크립트 환경에서 절대 경로를 설정하는 방법에 대해서 알아보겠습니다.
본론
babel-plugin-module-resolver 설치하기
yarn add -D babel-plugin-module-resolver
babel-plugn-module-resolver란 라이브러리를 설치해줍니다.
babel.config.js 수정하기
그런 뒤, babel.config.js 파일에서 해당 값에 맞게 설정해줍니다. 이 때, baseUrl로 들어가는 경로에 절대경로로 설정해주고 싶은 값이 들어가도록 설정해주는 것이 중요합니다.
module.exports = function () {
return {
presets: ["babel-preset-expo"],
plugins: [
[
"module-resolver",
{
root: ["./"],
extensions: [".ios.js", ".android.js", ".js", ".ts", ".tsx", ".json"],
alias: {
"~presentation": "./presentation",
},
},
],
],
};
};
tsConfig.json 수정하기
그리고 바벨에서 바라보는 경로를 baseUrl에 지정해줍니다. 호출하고 싶은 파일의 이름을 key 값에 적고, 파일의 경로를 value로 넣어줍니다. 이 때 pahts라는 항목에 해당 경로를 추가해주지 않으면, 경로를 불러올 수는 있지만 타입 체커에서 해당 모듈 경로를 인식하지 못해 빨간줄이 뜨게 됩니다. 따라서 추가해주는 것이 중요합니다.
{
"extends": "expo/tsconfig.base",
"compilerOptions": {
"baseUrl": "./",
"paths": {
"~presentation/*": ["presentation/*"]
},
}
}
기존 캐쉬 제거하기
마지막으로 metro 혹은 expo에 저장되어 있는 캐쉬를 제거하여 새로운 파일로 빌드해, 서버를 실행해줍니다.
// expo app
expo r -c (expo)
// bare react native app
npm run start --reset-cache
파일의 경로를 수정한 후, expo 혹은 metro 서버를 다시 실행해줍니다. 정상적으로 작동하는 것을 확인하실 수 있습니다.
반응형