VS Code中TypeScript文件报错无法识别JavaScript内置Error对象
问题原因
你的tsconfig.json中compilerOptions.lib仅配置了DOM,但Error属于ECMAScript核心内置对象,DOM库只包含浏览器DOM相关的类型定义,并不涵盖JavaScript基础核心类型。加上你开启了strict: true,TypeScript不会自动引入默认的核心库集合,因此出现无法识别Error的报错。
解决方案
修改tsconfig.json的lib数组,添加与target版本匹配的ECMAScript库,比如你当前target设为ES6,就添加ES6:
{ "compilerOptions": { "lib": [ "ES6", "DOM" ], "module": "ES6", "moduleResolution": "Node", "strict": true, "target": "ES6", "types": [ "vite/client" ] }, "include": [ "resources/ts/**/*" ] }
如果后续升级了target版本(比如ES2020),对应替换lib中的ES版本即可,保证两者版本一致。
补充说明
当手动指定lib配置项,或者开启strict: true时,TypeScript不会自动加载默认的库集合。默认情况下,TypeScript会根据target自动引入对应版本的ES核心库及相关DOM库,但手动指定lib后,必须明确列出所有需要用到的库类型。
内容的提问来源于stack exchange,提问作者Martin Bean
相关产品推荐
相关产品推荐

