报错信息
这个是一个非常小众的不典型的问题, 主要存在一下几点:
- 项目各依赖正常,不缺少内容。
- typescript配置正常,除这个错误外,其他各依赖、组件都能正常识别。
- 代码能正常跑起来,运行、打包不受影响。
- vscode 红线报错
- 项目创建之后个配置之间都是正常的,运行一段时间后突然出现的
- 重新安装依赖也无法解决
我的vscode报这个错误之前,重新安装过系统。项目和依赖因为都不在系统盘,新系统安装好后,添加上vscode和node的环境变量就可以直接运行跑起来。 出错后,测试过一些其他项目均无这个问题。
bug定位
之所以这个bug不典型,就在于不同常规的报错,比如配置丢失,版本更新导致的不兼容等等。 之后重新创建一个全新的项目,配置上ts后,也出现了这个bug。
推断该bug不是出在项目本身,好在vscode也是一个变相的网页,既然是网页,那更加具体的报错信息就会出现在控制台中。
vscode找到帮助,点击切换开发人员工具,打开控制台,可以看到如下报错信息:
ERR [File Watcher (node.js)] Error: EPERM: operation not permitted, stat 'e:\gzcc\test\node_modules\.pnpm\vue@3.5.10_typescript@5.5.4\node_modules\vue\dist\vue.d.ts'
根据报错信息,基本可以确定是文件的问题,信息里提到不允许操作文件,通常就是权限不够了。
通过资源管理器找到该文件,查看文件属性,点开安全选项,如下图:
修复
找到问题就好办了,既然是权限不够,给它权限就可以了。 在给予操作权限后,在回到vscode控制台,f5刷新,vscode会重新加载,等加载结束,问题即解决。