Typescript tsconfig settings for Node.js 10?

丶灬走出姿态 提交于 2019-12-31 18:57:27

问题


Does anyone know which target/libs are required for Node.js v10.x to use the built in async/await without the generators? I see a lot for node 8 but not with node 10.


回答1:


As of Node.js 10.0.0, 100% of ES2018 is supported. If you know that you are targeting that version or newer, the optimal config would look like this:

  • "module": "commonjs"

    Node.js is on it's way to add ES-Modules, but for now we'll have to stick with CommonJS.

  • "target": "es2018"

    This tells TypeScript that it's okay to output JavaScript syntax with features from ES2018. In practice, this means that it will e.g. output object rest/spread properties & async/await syntax instead of embedding a polyfill.

  • "lib": ["es2018"]

    This tells TypeScript that it's okay to use functions and properties introduced in ES2018 or earlier. In practice, this means that you can use e.g. Promise.prototype.finally, Array.prototype.includes and String.prototype.padStart.

The full config would thus be:

{
  "compilerOptions": {
    "lib": ["es2018"],
    "module": "commonjs",
    "target": "es2018"
  }
}

If you are running Node.js 8 you can see my similar answer for Node.js 8 here




回答2:


According to recommended typescript config for node 8 , --target ES2017 is supported on Node 8.10.0 and newer (which would include Node 10), and it is sufficient to pass through async functions to the output without translating them to generators.



来源:https://stackoverflow.com/questions/51716406/typescript-tsconfig-settings-for-node-js-10

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!