React?Native項(xiàng)目設(shè)置路徑別名示例
正文
沒(méi)有設(shè)置路徑別名之前代碼是這樣的:
import { px2dp } from '../../utils/screenKits';
路徑相當(dāng)冗長(zhǎng),看著就頭疼。增加了路徑別名之后,變成這樣
import { px2dp } from '~/utils/screenKits';
心里清爽多了!
具體操作見(jiàn)下文,實(shí)操性強(qiáng)!
安裝插件
這里我選用 babel-plugin-root-import插件,主要是方便,不需要再為了 eslint
不識(shí)別 '@' 而增加配置。
這個(gè)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路徑測(cè)試
清除rn緩存并重新啟動(dòng)項(xiàng)目
yarn clear-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" },
可以看到項(xiàng)目可以正常啟動(dòng)、正常運(yùn)行
修復(fù)函數(shù)跳轉(zhuǎn)到定義功能
配置vscode: https://code.visualstudio.com/docs/languages/jsconfig再項(xiàng)目根目錄增加 jsconfig.json
文件
{ "compilerOptions": { "baseUrl": ".", // 基礎(chǔ)目錄 "paths": { // 指定相對(duì)于 baseUrl 選項(xiàng)計(jì)算的路徑映射, 別名路徑也可以跳轉(zhuǎn) "~/*": [ "src/*" ] } } }
這個(gè)配置是針對(duì)編輯器的,不用重啟項(xiàng)目,配置即生效
以上就是React Native項(xiàng)目設(shè)置路徑別名示例的詳細(xì)內(nèi)容,更多關(guān)于React Native路徑別名的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- ReactNative點(diǎn)擊事件.bind(this)操作分析
- ReactNative集成個(gè)推消息推送過(guò)程詳解
- React Native 資源包拆分實(shí)戰(zhàn)分析
- React?Native與iOS?OC之間的交互示例詳解
- 一文詳解ReactNative狀態(tài)管理rematch使用
- 一文詳解ReactNative狀態(tài)管理redux-toolkit使用
- ReactNative?狀態(tài)管理redux使用詳解
- react?native?reanimated實(shí)現(xiàn)動(dòng)畫(huà)示例詳解
- React Native按鈕Touchable系列組件使用教程示例
相關(guān)文章
react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)的完美解決方法
這篇文章主要介紹了react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)的完美解決方法,全稱(chēng)為Node Package Manager,是隨同NodeJS一起安裝的包管理工具,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08JavaScript React如何修改默認(rèn)端口號(hào)方法詳解
這篇文章主要介紹了JavaScript React如何修改默認(rèn)端口號(hào)方法詳解,文中通過(guò)步驟圖片解析介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07react框架next.js學(xué)習(xí)之API?路由篇詳解
這篇文章主要為大家介紹了react框架next.js學(xué)習(xí)之API?路由篇詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09React如何通過(guò)@craco/craco代理接口
這篇文章主要介紹了React如何通過(guò)@craco/craco代理接口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10React Hook 父子組件相互調(diào)用函數(shù)方式
這篇文章主要介紹了React Hook 父子組件相互調(diào)用函數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09完美解決react-codemirror2?編輯器需點(diǎn)擊一下或者延時(shí)才顯示數(shù)據(jù)的問(wèn)題
這篇文章主要介紹了react-codemirror2編輯器需點(diǎn)擊一下或者延時(shí)才顯示數(shù)據(jù)的問(wèn)題,解決方法也很簡(jiǎn)單,需要手動(dòng)引入自動(dòng)刷新的插件,配置一下參數(shù)就可以了,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08