TypeScript:节点11的“正确”目标是什么?

时间:2019-03-11 09:42:45

标签: node.js typescript

TypeScript具有target配置,其中包含许多值,例如esnextes2015es6等(非常令人困惑)

NodeJ的当前版本(11.11.0)支持JavaScript的许多新功能。在TypeScript上定位esnext可以吗?能行吗?

如果没有,那么在定位nodeJs 11.11.0时使用target正确吗

编辑:

由于@Seblor,我们知道esnext非常动态,TC39可以添加合适的功能。它代表正在使用的JavaScript的下一版本(关于功能约定)

改进后的问题应该是:根据当前的NodeJ版本(11.11.0)和当前的TypeScript版本(3.3),我们可以使用esnext作为{{1 }}?

2 个答案:

答案 0 :(得分:2)

基于TypeScript Wiki "es2018"上的Node-Target Mapping是节点10的正确映射,"es2019"是节点12的正确映射。似乎非LTS版本的Node aren没有记录,但是鉴于此信息,我觉得"es2018"是最安全的目标。

答案 1 :(得分:1)

node.green看,Node 11.11.0中似乎已全面支持ES2018,因此您应该可以毫无问题地将ES2018设置为目标。

您可以使用ES2019甚至ESNext来提高运气,因为这种支持看起来足够好。但是,我不知道如果将ESNext用作目标(例如私有属性),打字稿是否会使用尚未实现的功能。

我个人会坚持使用ES2018,因为我认为不需要使用ESNext。