gil*_*ran 6 node.js typescript
打字稿的有target很多值,配置一样esnext,es2015,es6等。(很混乱)
NodeJ的当前版本(11.11.0)支持JavaScript的许多新功能。以esnextTypeScript 为目标可以吗?能行吗
如果不是,那么target在定位nodeJs 11.11.0时使用什么权利
编辑:
感谢@Seblor,我们知道它esnext非常动态,TC39可以添加合适的功能。它表示正在使用的JavaScript的下一版本(关于功能约定)
改进后的问题应该是:根据NodeJs的当前版本(11.11.0)和TypeScript的当前版本(3.3),我们可以将其esnext用作target?
查看node.green,在 Node 11.11.0 中 ES2018 的支持似乎已满,因此您应该可以毫无问题地将 ES2018 设置为目标。
你可以通过使用ES2019甚至ESNext来推动你的运气,因为它的支持看起来已经足够好了。但是,如果您使用 ESNext 作为目标(如私有属性),我不知道 typescript 是否会使用尚未实现的功能。
我个人会坚持使用 ES2018,因为我认为没有必要推动 ESNext。
基于TypeScript wiki上的Node-Target Mapping"es2018"是 Node 10"es2019"的正确映射,是 Node 12 的正确映射。似乎没有记录 Node 的非 LTS 版本,但鉴于这些信息,我觉得这"es2018"是最安全的目标。
好吧,答案是(像往常一样)取决于!这取决于您计划使用的功能。TypeScript 版本、NodeJS 版本target。tsconfig.json
在使用 JavaScript 功能之前,需要检查两件事:
您必须查看此表,并查看您的目标环境列,在我的例子中是NodeJs 列。并确保电池是绿色的。红色表示您无法在此环境中运行此功能。
确保您可以使用 TypeScript 编译代码。如果您可以使用 TypeScript 编译代码,那就没问题。请注意,您不能指望TypeScript 列。红色单元格意味着编译后的代码将无法在以前版本的 JavaScript 上运行...
例如BigInt:
TypeScript withtarget: "esnext"将编译(没有问题)代码bigint(当支持单元格为红色时),并且您可以使用 bigint 运行 JavaScript 代码NodeJS 11
请注意,左上角有ECMAScript版本组。你可以低于esnext
| 归档时间: |
|
| 查看次数: |
1168 次 |
| 最近记录: |