首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误TS2318:找不到全局类型的“对象”

错误TS2318:找不到全局类型的“对象”
EN

Stack Overflow用户
提问于 2018-06-06 13:01:37
回答 1查看 21.7K关注 0票数 26

非常简单的项目,仅使用命令行就没有tsconfig.json:

代码语言:javascript
运行
复制
tsc --jsx react --target es6 --lib dom src/lib/Fetch.tsx

我得到了以下错误,我不明白为什么,这些类型在任何地方都有定义,特别是在lib.es6.d.ts中,我认为这是--target es6包含的

代码语言:javascript
运行
复制
error TS2318: Cannot find global type 'Array'.
error TS2318: Cannot find global type 'Boolean'.
error TS2318: Cannot find global type 'Function'.
error TS2318: Cannot find global type 'IArguments'.
error TS2318: Cannot find global type 'Number'.
error TS2318: Cannot find global type 'Object'.
error TS2318: Cannot find global type 'RegExp'.

安装了以下依赖项

代码语言:javascript
运行
复制
"dependencies": {
  "@types/react-dom": "^16.0.6",
  "@types/react": "^16.3.16",
  "react": "^16.4.0",
  "react-dom": "^16.4.0"
},
"devDependencies": {
  "@types/node": "^10.3.1",
  "typescript": "^2.9.1"
}

下决心

解决了我的问题。在本地安装了类型记录,但运行的是全局安装和旧版本的类型记录。当我通过npm脚本运行tsc时,它使用以下命令进行编译:

代码语言:javascript
运行
复制
tsc --jsx react --target es6 --module commonjs src/lib/Fetch.tsx
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 13:03:56

dom只包含浏览器特定DOM元素的定义。您需要包含一个es*库,它包含编译所需的核心es类型。一旦指定了必须包含所有必要类型的--lib选项,编译器将不再包括基于目标的任何库:

代码语言:javascript
运行
复制
tsc --jsx react --target es6 --lib es2015,dom src/lib/Fetch.tsx

或者,如果您实际上并不只是使用默认库,则可以完全省略以下选项:

代码语言:javascript
运行
复制
tsc --jsx react --target es6 src/lib/Fetch.tsx
票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50721103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档