有谁知道 Node.js v10.x 需要哪些目标/库才能在没有生成器的情况下使用内置的异步/等待?我在 Node 8 上看到了很多,但在 Node 10 上却看不到。
最佳答案
自 Node.js 10.0.0
起,100% 支持 ES2018。如果您知道您的目标是该版本或更高版本,则最佳配置将如下所示:
"module": "commonjs"
Node.js 正在添加 ES 模块,但现在我们必须坚持使用 CommonJS。
"target": "es2018"
这告诉 TypeScript 可以输出具有 ES2018 特性的 JavaScript 语法。实际上,这意味着它将例如输出对象 rest/spread 属性和 async/await 语法,而不是嵌入 polyfill。
"lib": ["es2018"]
这告诉 TypeScript 可以使用在 ES2018 或更早版本中引入的函数和属性。实际上,这意味着您可以使用例如
Promise.prototype.finally
、Array.prototype.includes
和String.prototype.padStart
。
因此完整的配置是:
{
"compilerOptions": {
"lib": ["es2018"],
"module": "commonjs",
"target": "es2018"
}
}
如果你运行的是 Node.js 18,你可以看到我的 similar answer for Node.js 18 here
如果你运行的是 Node.js 16,你可以看到我的 similar answer for Node.js 16 here
如果你运行的是 Node.js 14,你可以看到我的 similar answer for Node.js 14 here
如果你运行的是 Node.js 12,你可以看到我的 similar answer for Node.js 12 here
如果你运行的是 Node.js 8,你可以看到我的 similar answer for Node.js 8 here
关于node.js - Node.js 10 的 TypeScript tsconfig 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51716406/