leiwuhen-67's blog leiwuhen-67's blog
首页
    • 《Vue》笔记
    • 《React》笔记
    • 《NodeJs》笔记
    • 《CSS》笔记
    • 《Redis》笔记
    • 基础入门
    • 《Mock》笔记
    • 《MySQL》笔记
    • 《Git》相关
影音视听
收藏
关于
GitHub (opens new window)

我的公众号

首页
    • 《Vue》笔记
    • 《React》笔记
    • 《NodeJs》笔记
    • 《CSS》笔记
    • 《Redis》笔记
    • 基础入门
    • 《Mock》笔记
    • 《MySQL》笔记
    • 《Git》相关
影音视听
收藏
关于
GitHub (opens new window)
  • React

  • React Native

    • React Native之打包安卓apk优化
    • React Native之安卓apk架构区别解析
    • React Native之打包安卓修改Apk文件名
    • React Native之项目创建以及路由配置
    • React Native之h5唤起APP配置
    • React Native之安卓应用保存图片到相册
    • React Native之路径别名配置
  • 《React》笔记
  • React Native
心欲无痕
2025-06-26

React Native之路径别名配置

在开发应用时,经常需要引入各种文件、组件等等,如果不设置路径别名,就很容易出现类似./、../、../../../ 等这种写法,看着相当繁琐,写起来也容易出错,如果需要移动文件时,不更改路径引入就很容易出现问题。如果将这些文件的路径都是相对于项目根目录的设置的话,那么写起来就很容易,也不易出错了。

1、在 metro.config.js 中配置如下:

const { getDefaultConfig, mergeConfig } = require( '@react-native/metro-config' );
const path = require( 'path' );

/**
 * Metro configuration
 * https://reactnative.dev/docs/metro
 *
 * @type {import('@react-native/metro-config').MetroConfig}
 */
const config = {
  resolver: {
    alias: {
      '@': path.resolve( __dirname, 'src' ),
      '@src': path.resolve( __dirname, 'src' ),
      '@navigation': path.resolve( __dirname, 'src/navigation' ),
      '@components': path.resolve(__dirname, 'src/components'),
      '@assets': path.resolve( __dirname, 'src/assets' ),
      '@screens': path.resolve( __dirname, 'src/screens' ),
      '@utils': path.resolve(__dirname, 'src/utils'),
    },
  },
};

module.exports = mergeConfig(getDefaultConfig(__dirname), config);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

2、安装 babel-plugin-module-resolver 插件(npm install --save-dev babel-plugin-module-resolver),并在 babel.config.js 中配置如下:

module.exports = {
  presets: [ 'module:@react-native/babel-preset' ],
  plugins: [
    [
      'module-resolver',
      {
        extensions: [ '.tsx', '.ts', '.js', '.json' ],
        alias: {
          '@': './src',
          '@src': './src',
          '@navigation': './src/navigation',
          '@components': './src/components',
          '@assets': './src/assets',
          '@screens': './src/screens',
          '@utils': './src/utils',
        },
      },
    ],
  ],
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

现在重启项目即可使用路径别名了,不用再使用丑陋的../../ 这种写法了。

注意:

  • Babel 配置:是为了确保代码转换阶段正确处理别名
  • Metro 配置:是为了确保模块解析阶段正确处理别名
编辑 (opens new window)
React Native之安卓应用保存图片到相册

← React Native之安卓应用保存图片到相册

Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式