首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeScript:节点11的“右”目标是什么?

TypeScript:节点11的“右”目标是什么?
EN

Stack Overflow用户
提问于 2019-03-11 09:42:44
回答 3查看 8.4K关注 0票数 16

类型记录的target配置有许多值,如esnextes2015es6等(非常令人困惑)

NodeJs当前版本(11.11.0)支持JavaScript的许多新特性。在esnext上瞄准TypeScript可以吗?它能用吗?

如果不是,当针对NodeJS11.0时,正确的target是什么?

编辑:

由于@Seblor,我们知道esnext是非常动态的,TC39可以添加他们认为合适的特性。它代表了正在开发的JavaScript的下一个版本(关于商定特性)。

精炼的问题应该是:根据NodeJs的当前版本(11.11.0)和当前版本的TypeScript (3.3),我们可以使用esnext作为target吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-11 10:50:59

好的,所以答案是(和往常一样)依赖于!这取决于您计划使用的特性。TypeScript版本、tsconfig.json上的target版本和NodeJS版本。

在使用JavaScript特性之前,有两件事需要检查:

  1. 您必须查看这张桌子,并查看目标环境列,在我的示例中,它是NodeJs列。确保牢房是绿色的。Red意味着您无法在此环境中运行此功能。
  2. 确保可以使用TypeScript编译代码。如果可以使用TypeScript编译代码,就可以了。请注意,您不能指望TypeScript柱。红细胞意味着编译后的代码不会在以前版本的JavaScript上运行.

例如,BigInt

TypeScript with target: "esnext"将用bigint编译代码(没有问题)(支持单元是红色的),您可以在NodeJS 11上运行带有bigint的JavaScript代码

请注意,在左上角,有ECMAScript版本组。你可以比esnext

票数 3
EN

Stack Overflow用户

发布于 2020-03-18 21:34:44

基于节点-目标映射 on TypeScript wiki,"es2018"是Node 10的正确映射,"es2019"是Node 12的正确映射。似乎没有记录Node的非LTS版本,但考虑到这些信息,我觉得"es2018"是最安全的目标。

票数 6
EN

Stack Overflow用户

发布于 2019-03-11 10:20:01

node.green的角度来看,Node 11.11.0中的ES2018支持似乎是满的,因此您应该能够毫无问题地将ES2018设置为目标。

您可以通过使用ES2019甚至ESNext来推卸运气,因为支持看起来已经足够好了。但是,如果您使用ESNext作为目标(比如私有属性),我不知道类型记录是否会使用尚未实现的特性。

就我个人而言,我会坚持ES2018,因为我认为没有必要推动ESNext。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55098997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档