我应该转译我的节点 js 代码以使用 ES6 吗?

Should I transpile my node js code for using ES6?

我只将 nodejs 用于服务器端微服务,我想使用 ES6,我读到 Babel 用于将代码转换为 ES5 以提供对浏览器的支持。所以我需要知道如果我不是为客户端编写此代码,我是否仍需要在 V8 引擎上将其转换为 运行?或者它只是一个服务器端不需要的额外层?

如果您的服务器在 Node.js 的新版本上运行并且它支持 ES6 功能,则您不需要转换代码。如果代码托管在一个地方,您的代码只能在同一个地方工作。

使用Transpiler,当你的代码是用新版本写的时候,可能会有用户使用老版本的浏览器Javascript。所以浏览器需要从托管的地方获取JS代码和本地的运行,这里可能会出错。在这种情况下,您需要使用转译器。

如果您仅将代码用作微服务,则无需进行转译。 Node.js 所有最新版本默认支持 es6。您可以参考此处了解有关 Node

当前支持哪些 es6 功能的更多信息

Node.js es6 documentation

如果您的运行时不支持您正在使用的语言功能,则需要使用转译器。

Node.js 的最新 版本有 almost complete support for ES6

如果您使用的功能不受所用 Node.js 任何版本的支持,则需要使用转译器。

我建议直接在最新的nodejs中使用es6/es7。 现在最新的nodejs几乎支持除了import/export.

以外的大部分功能

如果是这样,你可以使用箭头函数,async await等,这样可以让你的代码更清晰。