为什么我在 VS Code 中收到 TypeScript 错误,但在 tsc 命令中却没有收到错误?

Sar*_*GFX 4 typescript tsc visual-studio-code

VS Code 向我展示了 TS 错误,这些错误突然成为一个问题,但以前工作正常。

  • 当我运行时,npx tsc我没有收到 TS 错误。
  • 项目编译没有 TS 错误
  • 当我在 PHPStorm 中打开文件时,没有收到 TS 错误

这些错误可能来自哪里?它们有效还是 VS Code 混淆了?

我试图解决它们,但无法弄清楚如何键入它们(有大量导入类型被连接起来等等)。

有时,如果我尝试使用不同的类型,错误就会消失,然后过了一会儿又突然回来。any虽然似乎有效,但是,是的,那是作弊:)

在此输入图像描述

sta*_*all 6

这可能是由 TypeScript 版本差异引起的。VS Code 默认使用其捆绑的 TypeScript 安装(通常是最新的),而不是指定为 NPM 包依赖项的安装。您可以通过以下设置告诉 VS Code 使用(更准确地说:提示您选择)工作区 TypeScript:

"typescript.tsdk": "./node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
Run Code Online (Sandbox Code Playgroud)

要查找您的 VS Code 版本捆绑的 TypeScript 版本,请使用TypeScript: Select TypeScript Version...命令面板中的 。该版本将显示在“使用 VS Code 版本”选项旁边。

相关:如何强制 Visual Studio Code 对所有项目始终使用工作区的 TypeScript 版本?