Skip to content

alias配置

安装

npm i -D babel-plugin-module-resolver

js
// babel.config.js
module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  plugins: [
    [
      'module-resolver',
      {
        root: ['./app'],
        extensions: ['.ios.js', '.android.js', '.js', '.ts', '.tsx', '.json'],
        alias: {
          '@app': './app',
          '@config': './app/config',
          '@assets': './app/assets',
          '@icons': './app/assets/images/icons'
        }
      }
    ]
  ]
}

使用

js
// 使用alias导入组件
import Btn from '@components/btn'

// 使用alias导入静态资源
const assets = {
  icons: {
    mainTabs: {
      home: {
        // 导入资源【动态使用时报错, eg: require(`@icons/${xxx}.jpg`)】
        active: require('@icons/home-active.png'),
        inactive: require('@icons/home.png'),
      },
      // ...
    },
  },
}