如何在React中使用@符书写文件路径

2023-11-07

在 Vue 中,我们导入文件时,文件路径中可以使用@符号指代src目录,极大的简化了我们对路径的书写。但是 react 中,要想实现这种方式书写文件路径,需要写配置文件来实现。

在 config-overrides.js 文件中书写如下代码:

// 增量配置当前项目中的webpack配置,建议在react18中不要用
// 建议在react18中也不要用装饰器
// override 方法,如果webpack中有此配置则,覆盖,如果没有则添加
const path = require('path')
const { override, addWebpackAlias } = require('customize-cra')

// 方案2:自定义
const customConfig = () => config => {
    config.resolve.alias['@'] = path.resolve('src')
    return config
}

module.exports = override(
    // 方案1:使用webpack内置方法 
    // addWebpackAlias({
    //   '@': path.resolve('src')
    // }),
    customConfig()
)

上面的两种方案,任选一种即可完成配置,此时我们已经能够实现用@符指代src目录的功能了。

此时我们写这样的代码是不会报错的:

// import countAction from '../../store/actionCreators/countAction'
import countAction from '@/store/actionCreators/countAction'

但是在书写时,并不会触发编辑器的提示,没有提示写起来很痛苦,所以我们还需要再写一个配置文件,用作触发书写带有@符的文件路径时,编辑器的自动提示功能。

我们需要新建一个 jsconfig.json 文件,在该文件中书写如下代码:

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}

在这里插入图片描述

温馨提示:在 react 项目中,修改配置文件后需要重启项目。

至此,我们就可以愉快地书写代码了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在React中使用@符书写文件路径 的相关文章

  • 如何在Rails 中使用highlight.js?

    我正在尝试在我的 Rails 应用程序中使用语法突出显示和highlight js height js 的说明如下 https github com isagalaev highlight js https github com isaga
  • 单击反应表时选择行

    我正在尝试找到与我的反应应用程序一起使用的最佳表格 目前 反应表 https www npmjs com package react table提供我需要的一切 分页 服务器端控制 过滤 排序 页脚行 话虽这么说 我似乎无法选择一行 没有e
  • 超出 Google 电子表格上的 ImportXML 限制

    我现在陷入了 抓取问题 特别是我想将作者的姓名从网页提取到谷歌电子表格 其实功能 IMPORTXML A2 span class author vcard meta item 正在工作 但是当我增加了要抓取的链接数量后 它就开始无限加载 所
  • 如何在本机反应中发出触摸事件

    我正在尝试启用 panResponder 以拖放模式在屏幕上移动组件 然而 这种拖放必须通过longPress在这样的元素上 longPress捕获事件 所以当panResponder已启用onStartShouldSetPanRespon
  • Collada 模型面在 Three.js 中无法正确显示

    将 collada 模型导入到 Three js 后 模型的某些面只能从模型内部看到 从外部看不到 如何解决相关面孔的问题 是否可以让模特的脸部从两侧都可见 它无法正常工作的原因是您的文件设置了此双面标志
  • 0x800a1391 - JavaScript 运行时错误:“阶段”未定义

    我正在尝试做这个教程 http www sitepoint com creating a simple windows 8 game with javascript game basics createjsaseljs http www s
  • Apache 服务器上的服务器端 Javascript

    我们打算使用Apache https httpd apache org 用于 Web 开发的服务器 对于服务器端脚本 我们希望使用服务器端 javascript 要使服务器端 javascript 在 Apache 服务器上工作需要什么 S
  • jQuery 或 JavaScript 中的“$”符号是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中 符号的含义是什么 https stackoverflow com questions 1150381 what is the meaning of sign in javas
  • jQuery 选择器在控制台中不起作用

    我一辈子都无法解决这个问题 我正在运行 js 容器状态 是页面上正在运行的 js 的控制台日志 它显示一个选择器 但如果我想在控制台中执行任何操作 它只会返回 null 我假设我在某个地方过度编写了 jQuery 函数 就好像我调用了 jQ
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • AngularJS Youtube 播放器嵌入非常大的播放列表

    我目前正在构建一个 AngularJS 应用程序 我知道它有点过时 但我对它很有信心 我的应用程序需要嵌入一个 YouTube 播放器 其中包含一个非常大的播放列表 大约 1500 个项目 但我无法对其进行编码 以便它实际上可以嵌入超过 2
  • 如何使用 JavaScript 禁用滚动条?

    当我仅在 Internet Explorer 7 中显示代表模式窗口的 div 时 我需要锁定浏览器滚动条 谷歌搜索我发现我可以使用document body style overflow hidden 但这不适用于 IE7 我也尝试过do
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • 保存 dat.gui 预设以动态添加控件?

    我正在向 dat gui 界面动态添加控件 但 保存设置 功能无法识别它们 var mygui new dat GUI mygui remember mygui standard way of adding a control mygui
  • 如何将字符串转换为 Javascript 中可执行的代码行?

    我有以下代码 console log I am var x console log Alive 现在我只想使用x执行分配给它的代码字符串 例如 我什至可能不知道 x 的值 但只是想执行它 这可能吗 eval https developer
  • CSS交付优化:如何推迟CSS加载?

    我在尝试着优化 CSS 交付遵循针对开发人员的谷歌文档https developers google com speed docs insights OptimizeCSSDelivery example https developers
  • (A == B == C) 比较在 JavaScript 中如何工作?

    我预计以下比较会给出错误 var A B 0 if A B 0 console log true else console log false 但奇怪的是它又回来了false 更奇怪的是 console log A B 1 returns
  • 如何防止IE11弹出(您确定要离开此页面)

    我正在处理一个页面 除了一个下拉菜单可供选择外 我无需输入任何内容 但在 IE11 中 当我尝试转到下一页时 它会弹出该消息 我想阻止这种弹出的发生 所以我只是想知道 IE11 中弹出窗口的默认行为是什么 因为它不会出现在 Chrome 或
  • 查看元素的所有 dom 事件

    我有一个 jQuery UI 日期选择器 当您单击日期时 它会清除我的 URL 哈希值 并且不会更改文本框中的日期 我假设某个地方还有其他一些 JavaScript 实用程序 它也正在调用某种委托事件 抛出错误并终止 jquery 处理程序
  • 在 Javascript 中动态创建 []array

    也许这将是一个真正愚蠢的问题 但我是 JavaScript 新手 并且坚持动态创建数组 如下格式 items Date 2012 01 21T23 45 10 280Z Value 7 Date 2012 01 26T23 45 10 28

随机推荐

  • 二、MySQL入门

    1 如何查看MySQL是否运行 1查看进程 root sc mysql ps awx grep mysqld 12953 pts 1 S 0 00 bin sh usr local mysql bin mysqld safe datadir
  • JVM运行原理及Stack和Heap的实现过程

    Java语言写的源程序通过Java编译器 编译成与平台无关的 字节码程序 class文件 也就是0 1二进制程序 然后在OS之上的Java解释器中解释执行 而JVM是java的核心和基础 在java编译器和os平台之间的虚拟处理器 注 本网
  • js wangEditor富文本编辑器

  • 收藏清单:Java测试相关资源汇总

    收藏清单 Java测试相关资源汇总 Virtual environments 虚拟化环境 Vagrant 配置简单可信赖的虚拟化环境管理工具 Docker docker就不用多说了 Performance stress load 性能测试
  • 36-Jenkins-Job迁移

    Job迁移 前言 1 安装插件 2 配置信息 3 使用插件 前言 本篇来学习Jenkins中如何快速迁移job 在工作中可能会遇到这样的场景 即需要把一个Jenkins上的job迁移到另外一台Jenkins上 那怎么做比较好呢 一起来学习下
  • Shader Graph2-PBR介绍之表面属性(图解)

    PBR的实现由光线和表面属性决定 下面我们介绍一下表面属性 这个5个属性在ShaderGraph的根节点是经常的看到 左侧是Unity中的 右侧是UE中的 在没有Metallic金属的情况下 基础颜色值就决定了颜色的漫反射值 也就是说基础颜
  • gitee在README.md中添加图片

    前言 在使用gitee的添加README md文件的时候 有时候会希望能放一些效果图来实现展示效果 实现步骤 1 在项目中添加你的效果图片 比如我的就放在 assets 1 png 然后提交上去 2 打开你的项目 找到刚到图片 然后点击 3
  • Elasticsearch学习系列一(部署和配置IK分词器)

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • 基于深度学习的图像分类任务实现(二)卷积神经网络分类器&基于Residual Bolck的卷积神经网络分类器

    文章目录 1 代码编写思路 2 卷积神经网络分类器 2 1基本原理 2 2 代码实现 2 3 运行结果 3 基于Residual Bolck的卷积神经网络分类器 3 1基本原理 3 2代码实现 3 3模型结构可视化 3 4运行结果 实现多种
  • 【python实战】爬一爬某二手车的买卖数据

    获取当前页面下的车型的 表显里程 等数据 结果如下 直接讲代码实现 代码实现基本分四步 1 发送请求 2 获取数据 3 解析数据 4 保存数据 1 发送请求 import requests url https www XXX com chi
  • redis-dump 安装与简单使用

    redis dump是将redis和json互转的工具 redis dump是基于ruby开发 需要ruby环境 而且新版本的redis dump要求2 2 2以上的ruby版本 centos中yum只能安装2 0版本的ruby 需要先安装
  • Linux命令大全(手册)

    http man linuxde net
  • 超全面的前端工程化配置指南

    前端工程化配置指南 本文讲解如何构建一个工程化的前端库 并结合 Github Actions 自动发布到 Github 和 NPM 的整个详细流程 示例 我们经常看到像 Vue React 这些流行的开源项目有很多配置文件 他们是干什么用的
  • hive相关汇总

    hive 1 hive 有哪些方式保存元数据 各有哪些特点 2 hive内部表和外部表的区别 3 生产环境中为什么建议使用外部表 什么时候使用内部表 什么时候使用外部表 4 你们数据库怎么导入hive 的 有没有出现问题 5 简述Hive中
  • vue项目如何播放m3u8格式视频

    vue项目如何播放m3u8格式视频 安装依赖 找到public index html 再要播放的地方 1 引入 2 注册 3 使用组件 4 样式自己调整 5 双击可全屏 结果 安装依赖 npm install easydarwin easy
  • Qt 信号与槽自动关联

    被动关联与自动关联区别 被动关联 也就是我们经常使用的connect函数 显示的指定SIGNAL和SLOT 自动关联 隐式指明信号与槽的关系 主要利用部件设置的Objectname与信号signal名字关联 自动关联说明 规则要求1 自动关
  • matlab绘制三维图形

    matlab绘制三维图形 三维曲线 plot3函数与plot函数用法十分相似 其调用格式为 plot3 x1 y1 z1 选项1 x2 y2 z2 选项2 xn yn zn 选项n 其中每一组x y z组成一组曲线的坐标参数 选项的定义和p
  • Spring Boot + Vue的网上商城之商品订单售后退款退货实现

    Spring Boot Vue的网上商城之商品订单售后退款退货实现 思路 在网上商城中 商品订单售后退款退货是一个必不可少的功能 当用户购买的商品有质量问题或者不满意时 可以申请售后服务 包括退款 退货等操作 在这篇博客中 我们将介绍如何使
  • sapi 实现语音朗读

    头文件定义 CSpeechSpeekImpl h pragma once include sphelper h class CSpeechSpeekImpl public CSpeechSpeekImpl void CSpeechSpeek
  • 如何在React中使用@符书写文件路径

    在 Vue 中 我们导入文件时 文件路径中可以使用 符号指代src目录 极大的简化了我们对路径的书写 但是 react 中 要想实现这种方式书写文件路径 需要写配置文件来实现 在 config overrides js 文件中书写如下代码