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月前
|
前端开发
Vue3/React 动态设置 ant-design/icons 图标
Vue3/React 动态设置 ant-design/icons 图标
414 1
|
2月前
|
前端开发
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用
本文介绍了在React项目中如何添加路径别名alias以简化模块引入路径,设置组件props的默认值,以及如何二次封装Ant Design的Modal组件。文章还提供了具体的代码示例,包括配置Webpack的alias、设置defaultProps以及封装Modal组件的步骤和方法。
66 1
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用
|
6月前
|
前端开发 API
【亮剑】在Web开发中,我们经常需要使用下拉选择框(Select)来让用户从多个选项中选择一个
【4月更文挑战第30天】在React Web开发中,创建下拉选择框通常使用`<select>`标签。要设置占位符,可添加一个`value=""`的`<option>`标签。
226 0
|
前端开发
前端项目实战玖拾肆react-admin+material ui-踩坑-List的用法之disableAuthentication设置验证
前端项目实战玖拾肆react-admin+material ui-踩坑-List的用法之disableAuthentication设置验证
69 0
|
前端开发
前端项目实战玖拾叁react-admin+material ui-踩坑-List的用法之debounce设置显示时间
前端项目实战玖拾叁react-admin+material ui-踩坑-List的用法之debounce设置显示时间
75 0
|
前端开发
前端项目实战壹佰贰拾贰react-admin+material ui-react-admin之SimpleList中设置SimpleListConfigurable
前端项目实战壹佰贰拾贰react-admin+material ui-react-admin之SimpleList中设置SimpleListConfigurable
45 0
|
前端开发
react是否支持给标签设置自定义的属性,比如给video标签设置webkit-playsinline?
react是否支持给标签设置自定义的属性,比如给video标签设置webkit-playsinline?
164 0
|
前端开发
前端项目实战玖拾陆react-admin+material ui-踩坑-List的用法之Empty来设置空列表
前端项目实战玖拾陆react-admin+material ui-踩坑-List的用法之Empty来设置空列表
76 0
|
前端开发
前端项目实战壹佰react-admin+material ui-踩坑-List的用法之filterDefaultValues设置默认值情况
前端项目实战壹佰react-admin+material ui-踩坑-List的用法之filterDefaultValues设置默认值情况
51 0