Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeScript:What';这是“什么?”;对",`节点11的目标?_Node.js_Typescript - Fatal编程技术网

Node.js TypeScript:What';这是“什么?”;对",`节点11的目标?

Node.js TypeScript:What';这是“什么?”;对",`节点11的目标?,node.js,typescript,Node.js,Typescript,TypeScript的目标配置有许多值,如esnext、es2015、es6等(非常混乱) NodeJs当前版本(11.11.0)支持JavaScript的许多新特性。在TypeScript上以esnext为目标是否可以?行吗 如果不是,那么在定位nodeJs 11.11.0时,正确的目标是什么 编辑: 由于@Seblor,我们知道esnext非常动态,TC39可以根据需要添加功能。它表示正在开发的下一个JavaScript版本(关于特性的约定) 精练的问题应该是:根据NodeJs(11.11.

TypeScript的目标配置有许多值,如
esnext
es2015
es6
等(非常混乱)

NodeJs当前版本(11.11.0)支持JavaScript的许多新特性。在TypeScript上以
esnext
为目标是否可以?行吗

如果不是,那么在定位nodeJs 11.11.0时,正确的
目标是什么

编辑:

由于@Seblor,我们知道
esnext
非常动态,TC39可以根据需要添加功能。它表示正在开发的下一个JavaScript版本(关于特性的约定)

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

看看,节点11.11.0中对ES2018的支持似乎已经满了,因此您应该能够毫无困难地将ES2018设置为目标

你可以通过使用或甚至是因为支撑看起来足够好来推动你的运气。但是,如果使用ESNext作为目标(如私有属性),我不知道typescript是否会使用尚未实现的功能

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

好的,所以答案是(像往常一样)视情况而定! 这取决于您计划使用的功能。
tsconfig.json
和NodeJS版本上的TypeScript版本,
target

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

  • 你必须看看,看看你的目标环境专栏,在我的例子中是。确保电池是绿色的。红色表示无法在此环境中运行此功能

  • 确保可以使用TypeScript编译代码。如果可以使用TypeScript编译代码,那么就可以了。请注意,您不能指望。红色单元格表示编译后的代码不会在以前版本的JavaScript上运行

  • 例如
    BigInt

    带有
    目标的TypeScript:“esnext”
    将编译(没有问题)带有
    bigint
    的代码(支持单元格为红色),您可以在
    NodeJS 11上运行带有bigint的JavaScript代码


    请注意,在左上角有
    ECMAScript
    version组。根据TypeScript wiki,您可以降低到
    esnext
    “es2018”
    是节点10的正确映射,
    “es2019”
    是节点12的正确映射。似乎没有记录节点的非LTS版本,但考虑到这些信息,我觉得“es2018”是最安全的目标。

    es2015和es6是一样的。esnext是撰写本文时的下一个版本。这里的更多细节:看起来
    esnext
    是非常动态的,并且可以随时更改,但是
    TypeScript
    esnext
    的支持是静态的(每个版本),在新版本的ECMAScript发布后,esnext将“更改”。@RTW我实际上是在第3阶段(当时:)进行的。使用Stage 2(或更低版本)没有实际意义,因为它们可能会发生更改,因此在TypeScript wiki上创建该信息。谢谢