react-native 相对项目路径导入组件 ___ babel-plugin-root-import
在使用react-native的时候,经常要自定义很多组件,但是只能使用../../../的方式,经常不记得这是多深,有没有一个插件,能自动帮我们解决这样的问题?
使用指南
我们使用的目标要达到以下的使用效果
// 通常
import SomeExample from '../../../some/example.js';
或
const OtherExample = require('../../../other/example.js');
// 使用了 Babel-Root-Importer 之后
import SomeExample from '~/some/example.js';
或
const OtherExample = require('~/other/example.js');
组件安装
npm 方式
npm install babel-plugin-root-import --save-dev
yarn 方式
yarn add babel-plugin-root-import --dev
配置
增加一个 .babelrc在项目根目录,并写入(如果已有,则加入plugins):
{
"plugins": [
[
"babel-plugin-root-import"
]
]
}
温馨提示
已有项目,记得清理一个缓存(先关闭所有控制侦听程序)
watchman watch-del-all
npm start -- --reset-cache
扩展
自定义根路径前缀
如果你想把src/js作为项目根入口,你可以修改.babelrc为以下内容:
{
"plugins": [
[
"babel-plugin-root-import",
{
"rootPathSuffix": "src/js"
}
]
]
}
如何你想修改项目的默认根入口别名,默认~
{
"plugins": [
[
"babel-plugin-root-import", {
"rootPathPrefix": "@"
}
]
]
}
也可以定义多组别名入口
{
"plugins": [
["babel-plugin-root-import", [{
"rootPathPrefix": "~", // `~` 默认
"rootPathSuffix": "src/js"
}, {
"rootPathPrefix": "@",
"rootPathSuffix": "other-src/js"
}, {
"rootPathPrefix": "#",
"rootPathSuffix": "../../src/in/parent" //也支持父级路径
}]]
]
}
// 然后你就可以这样使用插件了。
import foo from '~/my-file';
const bar = require('@/my-file');
react-native 相对项目路径导入组件 ___ babel-plugin-root-import的更多相关文章
- react-native 相对项目路径导入组件 ___ babel-plugin-module-resolver
babel-plugin-module-resolver 是一个Babel模块解析插件, 在.babelrc中可以配置模块的导入搜索路径. 为模块添加一个新的解析器.这个插件允许你添加新的" ...
- react-native 相对项目路径导入组件
在使用react-native的时候,经常要自定义很多组件,但是只能使用../../../的方式,如果目录多了一长串,书写很烦,看着也不好看. 方法一: 例如你想引入utils里面的文件,不想../. ...
- (架构)React Native 导出项目全局共用组件的模块
自定义组件全局使用(类似如下) import { ReactNavComponent, Widget, Util } from 'rn-yunxi'; const { RegexpUtil, Stor ...
- React Native之本地文件系统访问组件react-native-fs的介绍与使用
React Native之本地文件系统访问组件react-native-fs的介绍与使用 一,需求分析 1,需要将图片保存到本地相册: 2,需要创建文件,并对其进行读写 删除操作. 二,简单介绍 re ...
- React Native开源项目案例
(六).React Native开源项目: 1.Pober Wong_17童鞋为gank.io做的纯React Native项目,开源地址:https://github.com/Bob1993/Rea ...
- React Native 开源项目汇总
最近闲来无事,学习了React Native开发Android APP,自我感觉RN APP的效果和Native APP比还是蛮不错,以下是找到的一些优秀源码,仅供学习参考... React Nati ...
- React Native 系列(九) -- Tab标签组件
前言 本系列是基于React Native版本号0.44.3写的.很多的App都使用了Tab标签组件,例如QQ,微信等等,就是切换不同的选项,显示不同的内容.那么这篇文章将介绍RN中的Tab标签组件. ...
- React Native 之 项目实战(一)
前言 本文有配套视频,可以酌情观看. 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我. 文中所有内容仅供学习交流之用,不可用于商业用途,如因此引起的相关法律法规责任,与我无关. 如文中内容对 ...
- React Native入门教程2 -- 基本组件使用及样式
在上一篇文章中,我们学会了如何搭建React Native的环境(React Native入门教程(笔记) 1 – 开发环境搭建),不知道你们是否搭建好了呢,如果还没有,那么快动起小手,来体验RN带给 ...
随机推荐
- 转载]OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]
原文地址:OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]作者:千山我独行 由于工作的平台也是嵌入式,差不多的平台,所以一直就没有把自己买过来的ok6410板子好好玩玩.以前一直都是 ...
- 在ubuntu中编译内核是用make menuconfig报错:package 'ncurses' has n
执行过程如下: root@zyx-VirtualBox:~# cd /opt/EmbedSky/ root@zyx-VirtualBox:/opt/EmbedSky# cd linux-2.6.30. ...
- dhcpv6+radvd服务器搭建
1.isc-dhcp-server install sudo apt update sudo apt-get install isc-dhcp-server 2.设置dhcp 创建/etc/dhcp/ ...
- Abp vNext 自定义 Ef Core 仓储引发异常
问题 在使用自定义 Ef Core 仓储和 ABP vNext 注入的默认仓储时,通过两个 Repository 进行 Join 操作,提示 Cannot use multiple DbContext ...
- C#: 统计method的执行时间
对于性能分析来说,无非是内存占用,CPU使用和执行时间. 那么,对于执行时间(elapsed times)的测量,需要强调的是,尽量不要使用DateTime类来,而是应该使用Stopwatch 类.M ...
- 浅谈Linux中的各种锁及其基本原理
本文首发于:https://mp.weixin.qq.com/s/Ahb4QOnxvb2RpCJ3o7RNwg 微信公众号:后端技术指南针 0.概述 通过本文将了解到如下内容: Linux系统的并行性 ...
- ORA-00845 startup启动不起来关于磁盘空间扩充
问题描述:今天在虚拟机下进行startup的操作,但是没有起来,系统报错:ORA-00845: MEMORY_TARGET not supported on this system 1.startup ...
- linux网络配置(iproute2)
iproute2家族 ip命令:show / manipulate routing,devices,policy routing and tunnels(显示/操纵路由.设备.策略路由和隧道) 语法 ...
- 初探three.js材质
这节我们浅谈一下THREE的材质.材质就是物体的皮肤,决定物体的表面.THREE的材质有很多种,他们有的和到相机的距离有关,有的和面的法向量角度有关,有的不受光照的影响,有的受到光照的影响会产生反射效 ...
- Mac OS 终端利器 iTerm2(怕以后找不到,自存自用)
之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...