Notice
Recent Posts
Recent Comments
Link
거의 알고리즘 일기장
절대경로 설정하기 (React Native + ts) 본문
필요성
만약에 파일구조의 뎁스가 깊고
//ex) src/components/layout/app/header/index.tsx
상대경로로 불러오게 되면 다른 스크립트를 import 해올때 ../../../../ 의 향연일것이다.
그럴때는 alias를 이용해서 경로를 설정해놓으면 그게 더 편할때가 많다.
설정방법
1. babel-plugin-module-resolver 추가
yarn add --dev babel-plugin-module-resolver
2. babel.confing.js 에 plugin과 경로들 추가
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
//-------------------------------
plugins: [
[
"module-resolver",
{
root: ["./src"],
extensions: [
".ios.ts",
".android.ts",
".ts",
".ios.tsx",
".android.tsx",
".tsx",
".jsx",
".js",
".json",
],
alias: {
"@": "./src",
"@component": "./src/components",
"@hooks": "./src/hooks",
"@constants": "./src/constants",
"@types": "./src/types",
"@state": "./src/state",
"@assets": "./src/assets",
},
},
],
],
//-------------------------------
};
};
3. tsconfing.json에 경로 추가
//tsconfig.json 최상위에 만들어야함
{
"compilerOptions": {
"strict": true,
"baseUrl": "./src",
"paths": {
"@components/*": ["components/*"],
"@hooks/*": ["hooks/*"],
"@constants": ["constants"],
"@types": ["types"],
"@state": ["state"],
"@assets/*": ["../assets/*"]
}
},
}
eslint를 미리 설정해 뒀다면, 밑의 링크를 보면 좋을듯함
반응형
'web' 카테고리의 다른 글
aws media convert (with terraform) (0) | 2021.09.25 |
---|---|
chrome dev tool로 봤을때, 문제가 없는데 layout이 삐뚤빼뚤 나오는 경우 - html 주석버그 (0) | 2021.08.20 |
프론트주니어의 개발기록 1 - next.js를 쓰지않고 react ssr 해보기 (0) | 2021.07.13 |
aws cloudfront - react 웹 배포하기 (0) | 2021.06.29 |
react router dom (v5) - history stack이 없을때를 알 수 있는 방법 (0) | 2021.06.27 |
Comments