NodeJS的TypeScript ECMAScript目标

时间:2019-03-06 09:49:56

标签: javascript node.js typescript ecmascript-6 ecmascript-5

出于性能目的,兼容性和可伸缩性,这是编译器TypeScript在带有NodeJS的模块中使用的最佳ECMAScript target吗?

不完全支持NodeJS ES6 (ECMAScript 2015)。是值得使用ES6还是为了更好的兼容性而添加目标ES5以及Typescript自动生成的相关解决方法?

另一方面,目前这些是NodeJS for ES6中的正在进行中的功能:

  --harmony-do-expressions (enable "harmony do-expressions" (in progress))
  --harmony-class-fields (enable "harmony fields in class literals" (in progress))
  --harmony-static-fields (enable "harmony static fields in class literals" (in progress))
  --harmony-array-flatten (enable "harmony Array.prototype.flat{ten,Map}" (in progress))
  --harmony-locale (enable "Intl.Locale" (in progress))

我目前不知道是否需要这些功能,但是对于代码的可维护性而言,这并不是最佳选择。

1 个答案:

答案 0 :(得分:1)

Node.js fully supports ECMAScript 2015,除了tail call optimizationES modules(具有标志和.mjs扩展名的实验性支持)。

在Node中使用TypeScript转换为ES5没有意义,TypeScript不严格遵循规范,并且也有其局限性,尤其是the extension of native ES6 classes