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/*"      ]
    }
  }
}

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


目录
相关文章
|
资源调度 前端开发 JavaScript
react项目的@路径配置
无论是vue还是react开发,我们通常需要引入路径的便捷化配置,通常我们都会约定使用路径@作为根路径地址。如果是个人react开发的@路径简单配置
335 0
react项目的@路径配置
|
JavaScript 前端开发
react项目如何设置ctrl+鼠标左键跳转到路径带@隐射的对应文件
react项目如何设置ctrl+鼠标左键跳转到路径带@隐射的对应文件
react项目如何设置ctrl+鼠标左键跳转到路径带@隐射的对应文件
|
前端开发
React的路径别名
React的路径别名
|
11月前
|
前端开发
前端学习笔记202305学习笔记第二十九天-React keep alive原理之2
前端学习笔记202305学习笔记第二十九天-React keep alive原理之2
50 0
|
11月前
|
前端开发
前端学习笔记202306学习笔记第四十八天-react-admin marmelab之8
前端学习笔记202306学习笔记第四十八天-react-admin marmelab之7
35 0
|
2月前
|
前端开发 JavaScript
前端知识笔记(二十六)———React如何像Vue一样将css和js写在同一文件
前端知识笔记(二十六)———React如何像Vue一样将css和js写在同一文件
43 1
|
8月前
|
前端开发
前端笔记:React的form表单全部置空或者某个操作框置空的做法
在React框架前端开发中,经常会有弹出框的开发,涉及到弹出框,难免就会有表单。一般在关闭弹出框或者对表单联动时,往往都需要考虑对表单进行置空操作了。
66 0
|
11月前
|
Web App开发 前端开发 JavaScript
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
56 0
|
11月前
|
JavaScript 前端开发 调度
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
87 0
|
11月前
|
前端开发
前端学习笔记202305学习笔记第二十九天-React keep alive原理之1
前端学习笔记202305学习笔记第二十九天-React keep alive原理之1
36 0