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

TypeScript + VSCode's Vetur Vue package: Cannot find name 'HTMLElement' / 'window' / 'document'

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

我尝试添加 domes2016dom.iterable 库包,但 none 成功了。我可能认为我的 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"
  ]
}

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

好吧,这很奇怪。看起来 Vetur 在一个 VSCode 工作空间中打开了多个项目目录,随后没有递归查找 tsconfig.json 文件。

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