无论哪种情况:

document.getElementById('body');
// or
window.document.getElementById('body');

我得到error TS2304: Cannot find name 'window'.

对于我应该安装的定义文件,我是否在tsconfig.json中遗漏了什么?

我在跑tsc分和vscode分时得到了这个信息

tsconfig.json:

{
    "compilerOptions": {
        "allowJs": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "jsx": "react",
        "module": "commonjs",
        "moduleResolution": "node",
        "noEmitOnError": true,
        "noImplicitAny": false,
        "sourceMap": true,
        "suppressImplicitAnyIndexErrors": true,
        "target": "ES2016",
        "typeRoots": [
            "node_modules/@types/",
            "typings/index.d.ts"
        ]
    },
    "exclude": [
        "node_modules",
        "**/*-aot.ts"
    ]
}

我的回答是:

推荐答案

问题似乎是由目标ES2016造成的

另一个选项是指定编译器要使用的库:

tsc -t ES2016 --lib "ES2016","DOM" ./your_file.ts

这也会让错误消失.

我不确定为什么在--lib选项的docs for compiler options个状态中,LIB默认不使用:

注意:如果未指定--lib,将注入默认库.这个

但它没有说明当目标为ES2016时默认的库是什么

Typescript相关问答推荐

TypScript错误:类型{ children:ReactNode; }与动态React组件中的IntrinsicLedger类型没有共同的属性

物料UI图表仅在悬停后加载行

如何在另一个if条件中添加if条件

TypScript手册中的never[]参数类型是什么意思?

如何在方法中定义TypeScript返回类型,以根据参数化类型推断变量的存在?

根据上一个参数值查找参数类型,也返回类型

如何编写一个类型脚本函数,将一个对象映射(转换)为另一个对象并推断返回类型?

编剧错误:正在等待Expect(Locator).toBeVisible()

如何在Angular 12中创建DisplayBlock组件?

返回具有递归属性的泛型类型的泛型函数

错误TS2403:后续变量声明必须具有相同的类型.变量';CRYPTO';的类型必须是';CRYPATO';,但这里的类型是';CRYPATO';

在数据加载后,如何使用NgFor在使用异步管道的可观测对象上生成子组件?

使用数组作为类型中允许的键的列表

TypeScrip:强制使用动态密钥

TypeScrip:使用Union ToInterval辅助对象,但保留子表达式

是否可以通过映射类型将函数参数约束为预定义类型?

TypeScrip:如何缩小具有联合类型属性的对象

字符串文字联合的分布式条件类型

如何使用 AWS CDK 扩展默认 ALB 控制器策略?

使用 fp-ts 时如何使用 TypeScript 序列化任务执行?