报红:找不到名称ref ts(2304)、‘ref‘ is not defined. eslint(no-undef)

接上篇

在上篇介绍了使用 unplugin-auto-import 和 unplugin-vue-components

配置完成后,项目可以正常运行,并且页面也正常显示,但vscode里就是报红

这个报红可能是由于 ts 发出的,也可能是由于 eslint 发出的

具体可以用鼠标悬浮来查看问题源出自谁,以下是我这边的解决方案,大家可以参考:


源于TS 找不到名称ref ts(2304)

这个 ref 是源于vue,但我们没有在这个文件里导入ref,ts也查找不到它的来源,所以报红。

我们要做的就是让 ts 知道它是被引入的就可以,引入它的文件是unplugin-auto-import自动生成的auto-imports.d.ts文件:

我们把这个auto-imports.d.ts 给到 ts 配置文件中的 include ,把这个文件和 ts 做关联,这样 ts 就知道 ref 的确被引入,就不会报红了。


源于Eslint 'ref' is not defined

如果是源于 eslint 的报红,那相对 ts 的处理方法会稍多一丁点儿

需要回归到上篇所说的对 unplugin-auto-import 的配置中:

开启 eslintrc ,让其自动生成**.eslintrc-auto-import.json** 文件

TypeScript 复制代码
eslintrc: {
   enabled: true,
},

找到 eslint 的配置文件(我这里是eslint.config.js,你的可能是.eslintrc.js 或其他名称 )

在该配置文件中找到 extends(如果没有这个配置项追加即可),将自动生成的eslintrc-auto-import.json 添加到 extends 配置项中即可。

TypeScript 复制代码
extends: ['./.eslintrc-auto-import.json'],

保存后,关闭vscode,重新打开原来因该问题报红的文件,ref 的报红就消失了。

打开这个自动生成的文件,我们也可以看到其中有对自动导入的那些模块做全局配置------全局变量,全局变量是在所有文件中都可以访问的变量,不需要显示引入或声明即可使用。

相关推荐
陈随易10 小时前
bm2,Node.js 与 Bun 项目部署新选择
前端·后端·程序员
福兮说11 小时前
canvas 旋转图片的六个坑:四角被裁、Math.ceil 多出 1px 黑边、JPG 角发黑、翻转方向反了
前端·javascript·图像处理·canvas
传人once12 小时前
多图片上传预览功能如何写
前端·css·html·jquery·html5
Eric.4613 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
库拉镜像AI牛牛14 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别
律宏阔14 小时前
Flutter 列表图片内存优化:CachedNetworkImage 与 ClipRRect 的取舍
前端·flutter
行者全栈架构师14 小时前
【鸿蒙心迹】相册文搜图工程化落地:HarmonyOS 7.0 端侧 AI 检索全链路实战与 5 个踩坑解法
前端
律宏阔14 小时前
Dart 3 Record:解决 Future.wait 异构返回值的类型问题
前端·flutter
Seraphina3615 小时前
DVWA(XSS Reflected/Stored High,CSRF Low)
前端·xss·csrf
光影少年15 小时前
Taro 是如何解析入口配置 app.config.ts 和页面配置的?
微信小程序·小程序·typescript·reactjs·百度小程序·taro