TypeScript + VSCode 的 Vetur Vue 包:找不到名称 'HTMLElement' / 'window' / 'document'

Mic*_*rts 1 typescript tsconfig vetur vuejs3

我一直在研究我看到的这个 Vetur 小问题 - 并且已经看到了一些关于 Vue3 + ts + Vetur 的 tsconfig 修改的答案 - 但大多数现在似乎是死胡同,因为我已经在我的 tsconfig 中进行了建议的修复或者建议的修复方案对我看到的警告没有太大帮助。

我尝试添加domes2016dom.iterablelib 包,但没有任何效果。我可能认为我的 tsconfig 中的其他内容存在冲突或冲突,但似乎无法将其缩小到任何结论性的范围。

我也尝试过cmd+shitf+p当时的Developer: Reload window技巧,但没有成功。重启VSCode,还是不行。

我基本上看到了一般的 Vetur 错误,例如:

Cannot find name window“, “ Cannot find name document“, “ Cannot find name HTMLElement“ 和 ” Cannot find name HTMLCanvasElement”。

这是我的完整内容tsconfig.json

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": true,
    "jsx": "preserve",
    "importHelpers": true,
    "moduleResolution": "node",
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "resolveJsonModule": true,
    "sourceMap": true,
    "baseUrl": ".",
    "types": [
      "webpack-env",
      "jest"
    ],
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
    "lib": [
      "esnext",
      "es2016",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "tests/**/*.ts",
    "tests/**/*.tsx"
  ],
  "exclude": [
    "node_modules"
  ]
}
Run Code Online (Sandbox Code Playgroud)

注意,我添加了 vuejs3 作为这个问题的标签,虽然这不是 Vue 问题,但 Vetur 库是 VS Code 的 Vue 工具。

Mic*_*rts 5

好吧,这是一个奇怪的事情。Vetur 似乎存在一个问题,即在一个 VSCode 工作区中打开多个项目目录,并且随后无法递归查找 tsconfig.json 文件。

它期望它是在根源上,老实说我认为这是合理的,但同时也是不合理的......