当前位置: 首页 > news >正文

前端学习笔记(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...

http://www.lryc.cn/news/466069.html

相关文章:

  • 推动TMS-EEG数据预处理标准化
  • 国产电脑能装win系统吗_国产电脑安装windows要求及方法
  • C#Winform的控件基类Control
  • 汽车电子行业的LIMS:提升质量与效率的关键助力
  • 移动端面试问题笔记(一)
  • 从壹开始解读Yolov11【源码研读系列】——cfg:模型配置加载功能
  • 【数据库设计】逻辑结构设计
  • uni-app之旅-day07-购物车页面
  • 【机器学习】并行计算(parallel computation)Part2
  • AI学习指南深度学习篇-迁移学习的应用场景
  • 【web前端设计】jquery图标动画特效
  • Linux——用户/用户组
  • HDFS上传下载命令
  • Nodejs使用http模块创建Web服务器接收解析RFID读卡器刷卡数据
  • 基于python的《C语言程序设计》课程成绩分析
  • @Component 和 @Bean 的区别与联系
  • 高手炒现货黄金短线的方法
  • 后端:唯一ID有哪些生成方式
  • LabVIEW提高开发效率技巧----高精度延时
  • <Link><Link> 和 <a> </a>标签的区别
  • 靶场战神为何会陨落?
  • rpm 命令
  • 录微课专用提词器,不会被录进视频中的提词器,还能显示PPT中备注的内容
  • Ansible概述
  • NTC 温度电阻计算方式
  • Qt中自定义qDebug打印信息的宏(文件名,行数,函数名,日期,时间等前缀)并取消打印
  • 【基于docker的深度学习训练环境】关键步骤记录
  • 管理、情商、格局-冯唐讲资质通鉴-笔记
  • 摇人摇人, JD内推岗位(社招+校招)
  • 振弦式传感器在高边坡监测中发挥哪些优势?