前端学习笔记(1.0)
在开发项目时,需要使用@符号来代替书写./和../等麻烦的路径书写,所以就遇到了下面的问题。
输入@没有路径提示
我们都知道,设置@是通过配置vite等脚手架工具的配置文件,设置别名即可。
但是如果需要在使用@的时候需要出现路径提示,需要进行额外的配置,虽然跟着网上的视频进行配置,却发现仍然没有路径提示。现在把整个解决问题的过程贴出来,供大家参考。
网上通用的配置如下:
首先。安装智能提示插件:

介绍的比较多的就是这前两个,接下来以第一个的配置进行介绍。
来到第一个插件的配置文件


然后根据网上写的配置,进行@的映射配置,代码为框选部分,其他默认【这块主要是221行的一行代码就可以,如果想要加入其他的映射在这里后续添加即可】

然后是TS的tsconfig.json 配置文件,如果在项目中没有这个文件,新建一个即可,这里由于我的项目的TS项目,所以是tsconfig.json,如果是js项目,就是jsconfig.json,文件配置的内容如下,由于json文件中不能加注释,就直接进行解释,不再文件中进行注释了。
{"compilerOptions": {"baseUrl": "./","paths": {"@/*": ["src/*"],"~@/*": ["src/*"]}},"files": [],"references": [{ "path": "./tsconfig.app.json" },{ "path": "./tsconfig.node.json" }],"exclude": ["node_modules", "dist"]
}
网上直接贴出的内容是下面这些,上面是我的json文件所有的内容
"compilerOptions": {"baseUrl": "./","paths": {"@/*": ["src/*"],"~@/*": ["src/*"]}},
这样按照指示配置完毕后,发现并不能实现输入 import "@/"的时候会出现代码提示,于是看各种教程,发现说的都是一样,没有解决我的问题。
直接贴出我的解决思路,我就想着和网上查询的json文件都一模一样的内容【后续证明,这样确实可以解决这一个问题】。但是,确出现了新的问题。
一开始我的项目是这样的,没有报错

但是我要是按照和网上一模一样的json文件的配置就会出现报错

这就很奇怪,我试着看一下多的配置项是什么意思,却发现了新大陆【主要还是对TS的配置项不熟悉】,这样也锻炼了我解决问题的能力,那么,既然不知道这配置项是什么意思,那么就查文档嘛,但是从一开始我走了些许的弯路,我是从vscode中找到的配置路径,然后再绕道的TS配置文档。
第一个网址贴出来:TypeScript Compiling with Visual Studio Code

虽然这个界面提出了一些简单的tsconfig.json中的配置项,并做了介绍,但是没有发现我们想要的多出来的哪些配置项。
于是到project setting链接中找到了TS相应的配置项
TypeScript: Documentation - Project References
其实就是TS的官方文档,左侧是导航栏,右侧显示介绍,我找到了符合我要求的导航
在project configuration 的下面,我看到了Project References,就对应着json配置文件中的references配置项

由于都是英文,就不再将官方文档中的细节进行逐一介绍, 将重要的一部分翻译下来贴出来:tsconfig.json文件有一个新的顶级属性references。它是一个对象数组,指定要引用的项目:
每个引用的path属性可以指向包含tsconfig.json文件的目录,也可以指向配置文件本身(可以有任何名称)。
当你引用一个项目时,会发生新的事情:
从引用的项目导入模块将加载其输出声明文件(.d.ts)
如果引用的项目生成outFile,则输出文件.d.ts文件的声明将在此项目中可见
如果需要,构建模式(见下文)将自动构建引用的项目
通过分成多个项目,您可以大大提高类型检查和编译的速度,减少使用编辑器时的内存使用,并改善程序逻辑分组的执行。
这里其实就是类似于模块化的思想,不是所有的配置都写在着一个json文件中,而是references了其他文件,path中就对应着references的文件路径,也可以是json文件,也可以直接是路径。
然后在自己的尝试下,得到了解决方案,解决方案一共有两种。
方案一:继承写法
因为他不是references下面两个文件嘛,那么如果单独的再tsconfig.json文件,单独设置@路径配置代码是不生效的。
"baseUrl": "./","paths": {"@/*": ["src/*"],"~@/*": ["src/*"]}
所以需要在他references中都进行继承配置,类似与Java的父类和子类的思想,tsconfig.json作为父类,剩下的两个references进行继承配置。
{"extends": "./tsconfig.json","compilerOptions": {"outDir": "./dist/node","baseUrl": ".",// ... 其他配置},"include": ["src/node/**/*"],"exclude": ["node_modules","**/*.spec.ts"]
}
其实就是添加了一行代码 "extends": "./tsconfig.json",其他的配置默认自有的内容即可。
哦,忘了说这两个文件是怎么来的,因为我的项目环境就是vite+react+ts,所以我们在创建项目的时候,就自动生成了这些文件和配置。
同样,另一个json文件中,也书写一句 "extends": "./tsconfig.json",其他的配置默认自有的内容即可。
方案二:CV写法
其实就是当个cv工程师就可以了,在tsconfig.json,tsconfig.node.json,tsconfig.app.json,这三个文件中进行复制粘贴这部分代码即可。


然后就是见证奇迹的时刻,为了保险起见,重启一下vscode就可以了
tsconfig的其他配置就不再详细介绍,因为学习的过程就是这样,遇到一个差一个,解决问题。总不能去背文档把,那样也不太现实。
Endeavor...
相关文章:
前端学习笔记(1.0)
在开发项目时,需要使用符号来代替书写./和../等麻烦的路径书写,所以就遇到了下面的问题。 输入没有路径提示 我们都知道,设置是通过配置vite等脚手架工具的配置文件,设置别名即可。 但是如果需要在使用的时候需要出现路径提示&…...
推动TMS-EEG数据预处理标准化
摘要 将非侵入性脑刺激(NIBS)技术与脑电生理活动记录相结合是神经科学领域广泛使用的方法。同时结合经颅磁刺激(TMS)与脑电图(EEG)尤其成功。但是,为了有效地与大脑活动进行交互,所需的强磁脉冲不可避免地会在同步EEG采集过程中产生伪影。因此ÿ…...
国产电脑能装win系统吗_国产电脑安装windows要求及方法
国产电脑能装win系统吗?国产电脑可以安装Windows系统,但需要满足特定条件。目前只有CPU基于X86架构国产电脑才可以安装windows。下面小编就和大家一起来分析下国产电脑安装windows要求及方法。 国产电脑能装win系统吗? 答:国产电脑可…...
C#Winform的控件基类Control
C# Winform中,所有控件都继承自Control类,这个类提供了许多关键属性和事件,以及字段,它们是构建Windows窗体应用程序的基础。以下是对Control类的一些关键属性和事件以及字段的介绍: 关键属性 Anchor:获取…...
汽车电子行业的LIMS:提升质量与效率的关键助力
汽车电子行业的蓬勃发展,得益于汽车智能化、电动化的趋势不断推进。从先进的车载娱乐系统到复杂的电子控制单元,汽车电子产品的质量直接关系到整车的性能、安全和用户体验。因此,严格的检测和质量控制成为汽车电子企业不可或缺的环节。LIMS在…...
移动端面试问题笔记(一)
1. 1pxborder的问题 原因: 设备像素比不同 从移动端的角度说个具体的场景,以iphone6为例。 iphone6的屏幕宽度为375px,设计师做的视觉稿一般是750px,也就是2x,这个时候设计师在视觉稿上画了1px的边框,于是你就写了“bo…...
从壹开始解读Yolov11【源码研读系列】——cfg:模型配置加载功能
目录 一、模型配置操作:cfg.__init__.py 1.cfg.cfg2dict:yaml转字典 2.cfg.get_cfg:读取覆盖配置 3.cfg全局配置参数查询表 ①*基础参数配置: ②*训练参数配置: ③验证测试参数配置: ④*预测参数配置&…...
【数据库设计】逻辑结构设计
E-R实体集的转换 概念结构设计之后就是对E-R图进行逻辑结构设计:即将E-R图转化成关系的过程。逻辑结构设计主要用于数据库管理系统上,为了让数据在计算机系统中更好地表示。 此设计过程用到的数据模型有:除了前面讲过的关系模型还有层次模型…...
uni-app之旅-day07-购物车页面
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 9.1 商品列表区域9.1.1 渲染购物车商品列表的标题区域9.1.2 渲染商品列表区域的基本结构9.1.3 为 my-goods 组件封装 radio 勾选状态9.1.4 为 my-goods 组件封装 ra…...
【机器学习】并行计算(parallel computation)Part2
Asynchronous Parallel Gradient Descent Using Parameter Server 用Parameter Server实现异步并行梯度下降 Parameter Server这种编程模型可以实现异步并行梯度下降,架构采用的是Client-Server,通信方式是Message-passing,同步方式是异步的…...
AI学习指南深度学习篇-迁移学习的应用场景
AI学习指南深度学习篇 - 迁移学习的应用场景 引言 迁移学习(Transfer Learning)是一种强有力的技术,尤其在深度学习领域的应用越来越广泛。通过在一个领域学到的知识来帮助另一个领域的学习,迁移学习尤其适用于数据稀缺的场景。…...
【web前端设计】jquery图标动画特效
学习目标 学习web前端设计技术(HTML、css、JavaScript、jQuery等),综合运用技术,将其与HTML元素结合,设计样式、监听事件、添加动画等,给用户呈现出更好的视觉交互效果。本文主要学习分页按钮自动放大、元…...
Linux——用户/用户组
创建用户组groupadd groupadd 用户组 删除用户组groupdel groupdel 用户组 创建用户useradd useradd 用户名 - g 用户组 useradd 用户名 -d HOME路径 删除用户userdel userdel 用户 userdel -r 用户 (删除用户的 HOME 目录,不使用 -r ࿰…...
HDFS上传下载命令
hadoop <组件> -<操作> /path1/test.txt / path2 上传:hadoop fs -put /path1/test.txt / path2 下载:hadoop fs -get /path2/test.txt / path3 查看目录:hadoop fs -ls / 查看文件:hadoop fs -cat / path…...
Nodejs使用http模块创建Web服务器接收解析RFID读卡器刷卡数据
本示例使用设备: https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.1d292c1buHvw58&ftt&id22173428704 Javascript源码 //引用http模块创建web服务器,监听指定的端口获取以GET、POST、JSON等方式上传的数据,并回应驱动读卡…...
基于python的《C语言程序设计》课程成绩分析
作者:Svan.声明:未经本人允许,不得对本文中的任何内容、数据进行转载,本人(作者)已经对本文内容申请撰写了论文,随意转载使用本文任何内容的,要追究其法律责任!!…...
@Component 和 @Bean 的区别与联系
相同点: Component 和 Bean 是两种使用注解来定义bean的方式。 Component和Bean的目的是一样的,都是注册bean到Spring容器中。 两者都可以通过Autowired装配 不同点: Component 和 它的子类型(Controller, Service and Reposit…...
高手炒现货黄金短线的方法
现货黄金短线交易的精髓在于“计划你的交易”。短线交易不是临时起意的赌博,也不是盘口随意的追涨杀跌,而是所有因素分析以后的结果。新手进行短线操作容易流为频繁的随意操作,导致成功率不高。但当投资者有了准备,短线交易就再也…...
后端:唯一ID有哪些生成方式
文章目录 在后端开发中的ID生成策略1. 数字型 ID特点:优点:缺点:例子:常见用法: 2. UUID(通用唯一标识符)特点:优点:缺点:例子:常见用法ÿ…...
LabVIEW提高开发效率技巧----高精度延时
在LabVIEW开发中,时间控制是许多应用中的关键环节,尤其是高精度应用中,时钟漂移会严重影响程序的准确性。为此,使用Wait Until Next ms Multiple来代替简单的Wait (ms),可以显著减少时钟漂移,确保高精度延时…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...
英国云服务器上安装宝塔面板(BT Panel)
在英国云服务器上安装宝塔面板(BT Panel) 是完全可行的,尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎,虽然官方主要面向中国大陆…...
