前端学习笔记(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),可以显著减少时钟漂移,确保高精度延时…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
