在 TypeScript 中找不到名称“window”或“document”
Cannot find name ‘window’ or ‘document’ in TypeScript
要解决“找不到名称window
或document
”错误,请添加到文件中的DOM
数组
。lib
tsconfig.json
定义DOM
包括窗口和文档。DOM
在浏览器中运行的程序需要添加类型定义。
添加DOM
到文件lib
中的数组tsconfig.json
打开你的tsconfig.json文件并确保添加DOM
到你的lib
数组中。
tsconfig.json文件
{ "compilerOptions": { "lib": [ "es2018", "DOM" // 👈️ Add this ], }, }
一旦你添加DOM
到你的lib
数组中,tsconfig.json
错误就应该解决了。
lib设置告诉 TypeScript 它应该包含哪些
类型定义
。
如果您的代码在浏览器中运行,请将DOM
字符串添加到您的lib
数组中,以便能够在您的 TypeScript 代码中使用window
和document
全局变量。
将target
属性设置tsconfig.json
为ES6
如果这不起作用,请确保将
文件中的target属性
tsconfig.json
设置为最近的值 –ES6
这是一个不错的选择。
tsconfig.json文件
{ "compilerOptions": { "target": "ES6" } }
该
target
属性会更改哪些 JS 功能降级,哪些保持不变。例如,如果您的目标是ES5
或更低,箭头函数将转换为常规函数。现代浏览器支持所有 ES6 功能,因此请尝试将您的设置target
为es6
或更新的版本。
删除您的 node_modules 并重新安装您的依赖项
如果错误未解决,请尝试删除您的npm_modules
和
package-lock.json,重新运行
npm install
并重新加载您的 IDE。
bash
如果您使用的是 macOS 或 Linux,请在或中发出以下命令zsh
。
壳
# for macOS and Linux rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install
如果您使用的是 Windows,请在 CMD 中发出以下命令。
命令
# for Windows rd /s /q "node_modules" del package-lock.json del -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install
如果错误仍然存在,请确保重新启动 IDE 。VSCode 经常出现故障,有时重启可以解决问题。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: