tsconfig用于输出将在Node.js 12上运行的代码的最佳TypeScript 设置是什么?
tsconfig
从Node.js开始12.0.0,支持100%的ES2019。如果您知道要针对该版本或更高版本,则最佳配置应如下所示:
12.0.0
"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。
String.prototype.trimStart
Array.prototype.flat
除了ES2019,Node.js 12还支持BigInt&matchAll自ES2020,因此我们包括了ES2020的其他定义。
BigInt
matchAll
因此,完整的配置为:
{ "compilerOptions": { "lib": ["es2019", "es2020.bigint", "es2020.string", "es2020.symbol.wellknown"], "module": "commonjs", "target": "es2019" } }
如果您以Node.js12.9.0或更高版本为目标,则只需指定"lib": ["es2020"]该版本即可支持ES2020中引入的所有新 功能和属性 。不过,它不支持新的JavaScript 语法 ,因此您仍然必须继续使用"target": "es2019"。
12.9.0
"lib": ["es2020"]
{ "compilerOptions": { "lib": ["es2020"], "module": "commonjs", "target": "es2019" } }