错误 TS2304:找不到名称“发电机”

Posted

技术标签:

【中文标题】错误 TS2304:找不到名称“发电机”【英文标题】:error TS2304: Cannot find name 'Generator' 【发布时间】:2020-01-08 19:13:30 【问题描述】:

我更新了打字稿 $ tsc -v 版本 3.6.2

并尝试了以下页面中的生成器示例: https://devblogs.microsoft.com/typescript/announcing-typescript-3-6/

function* counter(): Generator<number, string, boolean> 
    let i = 0;
    while (true) 
        if (yield i++) 
            break;
        
    
    return "done!";


var iter = counter();
var curr = iter.next()
while (!curr.done) 
    console.log(curr.value);
    curr = iter.next(curr.value === 5)

console.log(curr.value.toUpperCase());

错误 TS2318:找不到全局类型“IterableIterator”。

gen2.ts:6:22 - 错误 TS2304:找不到名称“生成器”。

6 函数* counter(): 生成器 ~~~~~~~~~

发现 2 个错误。

【问题讨论】:

【参考方案1】:

我需要在命令行中指定lib:$ tsc --lib es6,dom gen2.ts

【讨论】:

【参考方案2】:

在 tsconfig.json 中,将“compilerOptions:target”值更新为 ES2015 而不是 ES5。 另外,请确保在 CLI 命令中包含您的 tsconfig.json,例如:

tsc -p .\tsconfig.json

【讨论】:

以上是关于错误 TS2304:找不到名称“发电机”的主要内容,如果未能解决你的问题,请参考以下文章

嚎叫:角度错误 TS2304:找不到名称“嚎叫”[重复]

打字稿错误 TS2304:即使使用 esnext 也找不到名称 AsyncIterator

TS2304:找不到名称“要求”

从命令行读取参数 - 错误 TS2304:找不到名称“进程”

TypeScript 和 ng2 rc.1 出现错误:(20、15)TS2304:找不到名称“模块”

ts2304 找不到名称“OnInit”