react-native 设置路径别名

简介: 没有设置路径别名之前代码是这样的: 路径相当冗长,看着就头疼。增加了路径别名之后,变成这样 心里清爽多了! 具体操作见下文,实操性强!

没有设置路径别名之前代码是这样的:

import { px2dp } from'../../utils/screenKits';


路径相当冗长,看着就头疼。增加了路径别名之后,变成这样

import { px2dp } from'~/utils/screenKits';

心里清爽多了!

具体操作见下文,实操性强!

安装插件

这里我选用 babel-plugin-root-import插件,主要是方便,不需要再为了 eslint 不识别 '@' 而增加配置。

这个babel-plugin-module-resolver插件,也可以,但是需要处理 eslint 的配置

yarn add babel-plugin-root-import --dev

修改babel.config.js

module.exports= {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
    ['@babel/plugin-proposal-decorators', { legacy: true }], // mbox// ['react-native-reanimated/plugin'],    [
'babel-plugin-root-import',
      {
paths: [
          {
rootPathSuffix: './src',
rootPathPrefix: '~/', // 使用 ~/  代替 ./src (~指向的就是src目录)          },
          {
rootPathSuffix: './src/utils',
rootPathPrefix: '!/',
          },
        ],
      },
    ],
  ],
};


修改import路径测试

清除rn缓存并重新启动项目

yarnclear-run
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "npx eslint --ext .js,.jsx,.ts,.tsx ./src",
"lint:fix": "npx eslint --fix .",
"check": "lint-staged",
"format": "prettier --write 'src/**/*.js'",
"prettier": "npx prettier --write .",
"prepare": "husky install",
"clear": "yarn cache clean",
"clear-run": "react-native start --reset-cache",
"del": "rimraf node_modules yarn.lock"},


可以看到项目可以正常启动、正常运行

👉修复函数跳转到定义功能

配置vscode: https://code.visualstudio.com/docs/languages/jsconfig

再项目根目录增加 jsconfig.json 文件

{
"compilerOptions": {
"baseUrl": ".", // 基础目录"paths": { //  指定相对于 baseUrl 选项计算的路径映射, 别名路径也可以跳转"~/*": [
"src/*"      ]
    }
  }
}

这个配置是针对编辑器的,不用重启项目,配置即生效


目录
相关文章
|
6月前
|
前端开发
react项目如何修改默认3000端口号
react项目如何修改默认3000端口号
82 0
|
4天前
|
JavaScript
react+typescript通过window.xxx挂载属性报错的解决方案
react+typescript通过window.xxx挂载属性报错的解决方案
53 0
|
4天前
|
前端开发 JavaScript
React .env 环境变量(详细使用、命名方式)
React .env 环境变量(详细使用、命名方式)
48 0
|
11月前
|
JavaScript
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
1231 0
|
9月前
|
前端开发 数据处理
react的对象属性替换处理
react的对象属性替换处理
67 0
|
前端开发 JavaScript
react组件进阶 属性类型检查
我们从名字上就可以知道,静态类型是发生在代码的编写阶段,不发生在代码的运行阶段。所以我们在使用的过程中,就可以及时的提示我们代码是否存在问题等,这个的效果就和 eslint 是一样的。
react组件进阶 属性类型检查
|
资源调度 前端开发 JavaScript
React默认工程的目录说明
React默认工程的目录说明
React默认工程的目录说明
|
资源调度 前端开发 JavaScript
react项目的@路径配置
无论是vue还是react开发,我们通常需要引入路径的便捷化配置,通常我们都会约定使用路径@作为根路径地址。如果是个人react开发的@路径简单配置
320 0
react项目的@路径配置
|
前端开发
react native命令行全局安装
react native命令行全局安装
153 0
react native命令行全局安装
|
前端开发
React的路径别名
React的路径别名