vscode prettier 报错:host.fileExists is not a function 且eslint不生效

1,831 阅读1分钟

背景

搭建新项目后,使用原来的package.json进行包安装,但是出现prettier报错,且eslint不生效的问题

host.fileExists is not a function

image.png

过程

  1. 相同package.json

首先,怀疑是vscode有问题,所以启动了旧项目(也是一样的package.json),但是可以正常识别eslint错误。

  1. 打开eslint编辑,看看有没有什么报错

image.png

看得出,依旧是一样的报错,从代码在堆栈中的调用路径看出主要是在typescript报错了。

  1. 查看旧项目typescript的版本

注:package.json的包存在限定符号,所以不会锁死包的版本,所以主要要去yarn.lock文件查看包的版本

image.png

可以看出包的版本有两个,分别是4.3.5跟4.4.2

  1. 查看新项目typescript的版本

image.png

包的版本是4.9.5,所以大概率是包的版本报错了

  1. 更新包的版本4.6.4
yarn add typescript@4.6.4 -D
  1. vscode重启eslint

vscode输入shift+ctrl+p,输入eslint,选择 eslint:Restart ESlint Server

image.png

  1. 结果

发现已经成功生效