TypeScript具有target
配置,其中包含许多值,例如esnext
,es2015
,es6
等(非常令人困惑)
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 }}?
答案 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。