import
경로를 간소화할 수 있는 절대경로 설정 방식을 설명한다.
npm install --save-dev babel-plugin-module-resolver
babel-plugin-module-resolver
라이브러리를 사용하면 모듈의 별칭(alias)을 설정해서 절대경로로 import
할 수 있다.{
"extends": "@react-native/typescript-config/tsconfig.json",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@screens/*": ["./src/screens/*"]
}
}
}
screens
폴더의 모든 파일을 @screens
경로에서 가져오도록 설정했다.module.exports = {
presets: ["module:@react-native/babel-preset"],
plugins: [
[
"module-resolver",
{
root: ["./src"],
extensions: [
".ios.ts",
".android.ts",
".ts",
".ios.tsx",
".android.tsx",
".tsx",
".jsx",
".js",
".json",
],
alias: {
"@": "./src",
"@screens": "./src/screens",
},
},
],
],
};
tsconfig.json
에서만 path
를 설정하면 다음과 같은 에러가 발생한다.
Error: Unable to resolve module @screens/Home from C:\Users\heeryoung\yumyumpick\AppInner.tsx: @screens/Home could not be found within the project or in these directories:
babel.config.js
파일에서도 alias
를 설정한다. @screens
경로에 대한 설정을 추가했다.
react-native start --reset-cache
Using Absolute Paths in React Native
절대경로 설정하기 (React Native + ts)
[React Native] import 절대 경로 세팅