Volar 和 vue-tsc 显示不同的 TS 错误

Edu*_*rdo 7 typescript vue.js vscode-extensions vuejs3 vite

在我的 Vite + Vue 3 + TypeScript 项目中,我已将vue-tsc配置为在开发时以监视模式运行。我将VS CodeVolar一起使用。现在,一方面,我在控制台中打印了所有 TS 错误,这正是我正在寻找的。另一方面,我有来自vue-tsc 的额外错误,但我没有来自Volar的错误。

例如,我遇到一个错误,指出state.month不可分配给类型Date,但它是Date

vue-tsc vue-tsc

组件,volar没有显示该错误 组件,volar 没有显示该错误

组件中的状态。如您所见,state.month日期 组件中的状态

有人可以帮我吗?我错过了什么吗?

Edu*_*rdo 7

项目的package.json中的TypeScript版本和VSCode中的TypeScript版本不同。这导致了这些奇怪的错误。当我将package.json中的版本更新为相同版本 VSCode 时,所有错误都消失了。

在此输入图像描述


Gre*_*rin 6

另一件需要检查的事情是您的 vue-tsc 包是否是最新的。Volar 是一个 VS Code 扩展,会随着时间的推移自动更新,而 vue-tsc 是一个 npm 包,因此 npm 会将其锁定到一个版本,并且可能会过时。

这就是我的解决方案。要获取最新版本并保存用于开发,请运行npm i -D vue-tsc@latest.

Volar 存储库中的参考: https ://github.com/johnsoncodehk/volar/issues/1205