코딩시 절대 경로 사용에 대한 필요성은 따로 언급 할 가치가 없을 정도로 중요하다.
React-native + Typescript 환경에서 절대 경로를 추가하는 방법으로는 babel의 alias 설정을 바꿔주는 방법이 있다.
그 도구로써 babel-plugin-module-resolver로 간단히 변경 가능하다.
설치방법
모듈 설치
$ yarn add --dev babel-plugin-module-resolver
babel.config.js 파일 수정
alias 부분에 원하는 주소를 써 넣는다.
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
[
'module-resolver',
{
root: ['.'],
extensions: ['.ios.ts', '.android.ts', '.ts', '.ios.tsx', '.android.tsx', '.tsx', '.jsx', '.js', '.json'],
alias: {
'~': './src',
'@utils': './src/utils',
'@res': './src/res',
'@svg': './src/res/svg',
'@hooks': './src/hooks',
'@locales': './src/locales',
},
},
],
],
};
tsconfig.js 파일 수정
{
...
"baseUrl": "./src", /* Base directory to resolve non-absolute module names. */
// Base directory to resolve non-absolute module names.
"paths": {
"~/*": [
"./*"
],
"@utils/*": [
"utils/*"
],
"@res/*": [
"res/*"
],
"@svg/*": [
"res/svg/*"
],
"@hooks/*": [
"hooks/*"
],
"@locales": [
"locales"
]
},
...
}
캐시를 리셋 한다.
이것 때문에 개 고생했다. 분명히 되어야 하는데 실행이 안되고 안되어야 하는데 실행이 되고 그런다.....
설정을 변경 했다면 무조건 캐시를 리셋해 주자!!
$ yarn start —reset-cache
테스트
이제 다음과 같이 사용 할 수 있다!! WOW!
import { useAppSettings, getAppSettings } from '~/settings';
import { containAlphabet } from '@utils/string-util';
import { useLocalization } from '@locales';
'Developments > React Native' 카테고리의 다른 글
iOS 실행시 nw_connection_get_connected_socket 에러 해결 (0) | 2019.11.15 |
---|---|
React.js와 React Native 컴포넌트를 동일한 style 코드로 적용하자 (0) | 2019.11.08 |
pod install이 되지 않을때 (0) | 2019.11.07 |
React Native 필수 추천 패키지 (0) | 2019.09.24 |
React Native + Typescript 프로젝트 생성 (0) | 2019.09.24 |