背景
搭建新项目后,使用原来的package.json进行包安装,但是出现prettier报错,且eslint不生效的问题
host.fileExists is not a function
过程
- 相同package.json
首先,怀疑是vscode有问题,所以启动了旧项目(也是一样的package.json),但是可以正常识别eslint错误。
- 打开eslint编辑,看看有没有什么报错
看得出,依旧是一样的报错,从代码在堆栈中的调用路径看出主要是在typescript报错了。
- 查看旧项目typescript的版本
注:package.json的包存在限定符号,所以不会锁死包的版本,所以主要要去yarn.lock文件查看包的版本
可以看出包的版本有两个,分别是4.3.5跟4.4.2
- 查看新项目typescript的版本
包的版本是4.9.5,所以大概率是包的版本报错了
- 更新包的版本4.6.4
yarn add typescript@4.6.4 -D
- vscode重启eslint
vscode输入shift+ctrl+p,输入eslint,选择 eslint:Restart ESlint Server
- 结果
发现已经成功生效