서론
대상독자
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 서버를 다시 실행해줍니다. 정상적으로 작동하는 것을 확인하실 수 있습니다.
반응형
'Language > Typescript' 카테고리의 다른 글
React Native/Typescript 환경에서 데코레이터 함수 사용하는 방법 (0) | 2022.04.01 |
---|---|
[Typescript] 자주 쓰이는 Utility Types 정리하기 (0) | 2022.02.16 |
React 환경에서 서버로 올바른 데이터 전송하는 방법 (with Typescript) (0) | 2021.12.08 |
Typescript 환경에서 역직렬화하는 방법 (0) | 2021.11.30 |
[TypeScript] 타입스크립트 환경 설정하기 (0) | 2021.08.05 |
댓글