出于性能目的,兼容性和可伸缩性,这是编译器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))
我目前不知道是否需要这些功能,但是对于代码的可维护性而言,这并不是最佳选择。
答案 0 :(得分:1)
Node.js fully supports ECMAScript 2015,除了tail call optimization和ES modules(具有标志和.mjs扩展名的实验性支持)。
在Node中使用TypeScript转换为ES5没有意义,TypeScript不严格遵循规范,并且也有其局限性,尤其是the extension of native ES6 classes。