错误TS2584(TS)的含义是什么…尝试更改'lib'编译器选项以包括'dom'?

问题描述 投票:0回答:2

我使用VS并编写打字稿

我只想输入命令“ document.write”而不会出现错误代码。我现在所拥有的是此命令“文档”的错误代码。我只是不想陷入困境,因为可以有一个简单的解决方案(我在以前的PC和VS上没有遇到这个问题)。

错误消息:错误TS2584(TS)找不到名称“文档”。您是否需要更改目标库?尝试将lib编译器选项更改为包含“ dom”。 C:\ web开发\研究\类型脚本\ replaceCharsInArray \ replaceCharsInArray(tsconfig或jsconfig项目)C:\ web开发\研究\类型脚本\ replaceCharsInArray \ replaceCharsInArray \ app.ts 9有效

let arr: string[] = ['black ofram','american walnut'];
function replaceCharsInStringArray(arr: string[], oldChar:string, newChar:string): string[] {
    for (let i = 0; i >= arr.length - 1, i++;) {
        arr[i] = arr[i].replace(newChar, oldChar);
        return arr;
    };
}
arr = replaceCharsInStringArray(arr, ' ', '_');
document.write

typescript visual-studio-2019 document.write
2个回答
0
投票

[回答this问题。看来该问题是由针对ES2016引起的。您是否有针对性地定位?如果您以es6为目标,则错误可能会消失。

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

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

也应该使错误消失。

我不确定为什么默认情况下不使用这些库,在关于编译器选项的文档中,它指明了--lib选项:

注意:如果未指定--lib,则会注入默认库。注入的默认库为:►对于--target ES5:DOM,ES5,ScriptHost►对于--target ES6:DOM,ES6,DOM.Iterable,ScriptHost

但是它没有说明针对ES2016的默认库是什么。这可能是一个错误,请尝试打开一个问题,如果您这样做,请在此处共享链接。


0
投票

我要感谢大家对我的帮助。

我找到了另一个解决我问题的简单方法。我意识到自己为项目创建了错误的解决方案类型。我添加了此扩展名:“ Typescript HTML应用程序模板”,并将其用于TS项目。

© www.soinside.com 2019 - 2024. All rights reserved.