如何查找 TypeScript 版本支持的 ECMAScript 版本列表?

3

我的应用程序使用 Typescript 2.5.3,我想要使用 ES2020 的新特性,我可以添加 ES2020 库到 tsconfig.json 中的 lib 并将其编译为目标 ES5 吗?

我们如何知道 2.5.3 版本 支持哪些 ES 库?

1个回答

2
为了使用ES2020的功能并将其编译为ES5,您可以在tsconfig.json文件中包含以下内容:
{
  "lib": "ES2020",
  "target": "ES5",
}

lib配置文档

target配置文档

lib自2.0版本以来就存在,target1.0版本以来就存在,因此我相信您可以安全地使用它们。至于如何查看可用值,您应该能够运行tsc --help,可用的值将为您列出(在版本2.5.3下测试通过):

--lib                                              Specify library files to be included in the compilation: 
                                                      'es5' 'es6' 'es2015' 'es7' 'es2016' 'es2017' 'esnext' 'dom' 'dom.iterable' 'webworker' 'scripthost' 'es2015.core' 'es2015.collection' 'es2015.generator' 'es2015.iterable' 'es2015.promise' 'es2015.proxy' 'es2015.reflect' 'es2015.symbol' 'es2015.symbol.wellknown' 'es2016.array.include' 'es2017.object' 'es2017.sharedmemory' 'es2017.string' 'es2017.intl' 'esnext.asynciterable'

-t VERSION, --target VERSION                       Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'.

在理想的世界中,TypeScript文档应该有版本控制,这样你就可以查看旧版本的所有可用配置选项和值。
如果情况变得最糟糕,你可以下载感兴趣版本的源代码(例如此处找到的版本2.5.3),并查看源代码以查看可用选项。

1
你的TypeScript编译器很可能会告诉你是否正在使用不受支持的库或目标。我认为这就是问题所在 - 如何在编译过程中等待错误而无需等待错误。 - VLAZ
@Robert Cooper 感谢您的回复,那么在编译之前我们无法知道哪些库和目标可以用于 TypeScript 版本吗?只是想知道为什么这没有在文档中提到... - suresh nomula
@sureshnomula 实际上,你可以运行 tsc --help 命令,可用的值将列在帮助信息中。我会相应地更新我的答案。 - Robert Cooper
@Rober Cooper,感谢您更新答案,现在我明白了。 - suresh nomula

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接