「react-ネイティブ」パスの設定

4531 ワード

ライブラリのインストール
yarn add --dev babel-plugin-module-resolver
babel.config.js
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',
          '@components': './src/components',
          '@styles': './src/styles',
          '@assets': './src/assets',
          '@screens': './src/screens',
          '@navigations': './src/navigations',
        },
      },
    ],
  ],
};
tsconfig.json
{
...
"baseUrl": "./" /* Base directory to resolve non-absolute module names. */,
    "paths": {
      "~/*": ["./*"],
      "@components/*": ["./src/components/*"],
      "@styles/*": ["./src/styles/*"],
      "@assets/*": ["./src/assets/*"],
      "@screens/*": ["./src/screens/*"],
      "@navigations/*": ["./src/navigations/*"]
    } 
...
}
リファレンス
  • https://7stocks.tistory.com/128