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 中建议的修复或建议的修复对我看到的警告没有多大帮助。
我尝试添加 dom
、es2016
和 dom.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 文件。
它期望它在根中,老实说我认为这是合理的,但同时也是不合理的...
我一直在研究我看到的这个 Vetur 小问题 - 并且看到了一些关于修改 Vue3 + ts + Vetur 的 tsconfig 的答案 - 但现在大多数似乎都是死胡同,因为我要么已经有了我的 tsconfig 中建议的修复或建议的修复对我看到的警告没有多大帮助。
我尝试添加 dom
、es2016
和 dom.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 文件。
它期望它在根中,老实说我认为这是合理的,但同时也是不合理的...