前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >React Native项目设置路径别名

React Native项目设置路径别名

作者头像
甜点cc
发布2023-10-16 15:03:26
2900
发布2023-10-16 15:03:26
举报

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

代码语言:javascript
复制
import { px2dp } from '../../utils/screenKits';

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

代码语言:javascript
复制
import { px2dp } from '~/utils/screenKits';

心里清爽多了! 具体操作见下文,实操性强!

安装插件

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

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

代码语言:javascript
复制
yarn add babel-plugin-root-import --dev

修改babel.config.js

代码语言:javascript
复制
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缓存并重新启动项目

代码语言:javascript
复制
yarn clear-run
代码语言:javascript
复制
"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"
},

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装插件
  • 修改babel.config.js
  • 修改import路径测试
  • 清除rn缓存并重新启动项目
  • 👉修复函数跳转到定义功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档