从Node.js开始
12.0.0,支持100%的ES2019。如果您知道要针对该版本或更高版本,则最佳配置应如下所示:
"module": "commonjs"
Node.js是添加ES模块的一种方式,但是现在我们必须坚持使用CommonJS。
"target": "es2019"
这告诉Typescript可以使用ES2019中的功能输出Javascript 语法 。实际上,这意味着它将例如输出对象的rest /
spread属性和async / await语法,而不是嵌入polyfill。
"lib": ["es2019", "es2020.bigint", "es2020.string", "es2020.symbol.wellknown"]
这告诉Typescript可以使用ES2019或更早版本中引入的 函数和属性 。实际上,这意味着您可以使用eg
String.prototype.trimStart和
Array.prototype.flat。
除了ES2019,Node.js 12还支持
BigInt&
matchAll自ES2020,因此我们包括了ES2020的其他定义。
因此,完整的配置为:
{ "compilerOptions": { "lib": ["es2019", "es2020.bigint", "es2020.string", "es2020.symbol.wellknown"], "module": "commonjs", "target": "es2019" }}如果您以Node.js12.9.0
或更高版本为目标,则只需指定
"lib": ["es2020"]该版本即可支持ES2020中引入的所有新
功能和属性 。不过,它不支持新的Javascript 语法 ,因此您仍然必须继续使用
"target": "es2019"。
因此,完整的配置为:
{ "compilerOptions": { "lib": ["es2020"], "module": "commonjs", "target": "es2019" }}


