Javascript 我应该为使用ES6传输我的节点js代码吗?

Javascript 我应该为使用ES6传输我的节点js代码吗?,javascript,node.js,ecmascript-6,v8,Javascript,Node.js,Ecmascript 6,V8,我只在服务器端微服务中使用nodejs,我想使用ES6,我读到Babel用于将代码传输到ES5以支持浏览器。所以我需要知道,如果我不是为客户端编写这段代码,我是否仍然需要传输它以在V8引擎上运行它?或者它只是服务器端不需要的一个附加层?如果您的服务器在Node.js的新版本上工作,并且支持ES6功能,则不需要传输代码。如果代码托管在一个地方,那么它只能在同一个地方工作 使用Transpiler时,当您的代码以较新版本编写时,可能会有用户使用带有旧版本Javascript的浏览器。因此,浏览器需要

我只在服务器端微服务中使用nodejs,我想使用ES6,我读到Babel用于将代码传输到ES5以支持浏览器。所以我需要知道,如果我不是为客户端编写这段代码,我是否仍然需要传输它以在V8引擎上运行它?或者它只是服务器端不需要的一个附加层?

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


使用Transpiler时,当您的代码以较新版本编写时,可能会有用户使用带有旧版本Javascript的浏览器。因此,浏览器需要从托管位置获取JS代码并在本地运行,这里可能有错误。在这种情况下,您需要使用transpiler。

如果您仅将代码用作微服务,则不需要执行transpiler。默认情况下,Node.js的所有最新版本都支持es6。有关节点当前支持哪些es6功能的更多信息,请参见此处


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

Node.js的最新版本已经发布


如果使用Node.js的任何版本都不支持的功能,则需要使用transpiler。

我建议在最新的nodejs中直接使用ues es6/es7。 现在最新的NodeJ几乎支持除导入/导出之外的大多数功能


如果是这样,您可以使用箭头函数、异步等待等。。这可以使您的代码更清晰。

所以,如果我使用nodejs纯粹用于服务器端代码,我不需要传输它,我只需要在客户端提供它,对吗?类似于提供UI的有角度的js代码。是的,你可以捕捉到它。必须传输简单的JS代码和客户端框架(如果默认情况下不传输),因为它们适用于每个用户。每个用户都在浏览器中运行它。为什么你说的是浏览器获得JS代码?这个问题清楚地表明他们不是。我描述了他在评论中提出的情况。Add给出一个答案,主要是在哪些情况下他可以/需要使用transpilerNo使用ES7可能是最好的选择。如果你的邻居都能说英语,你为什么要和他们说西班牙语?如果你使用的是ES模块(ES6),你仍然需要传输。也,您称之为“ES6”的东西可能包含Babel自然传输的功能,但Node/V8不支持这些功能。总结一下:除了尾部调用以外的所有功能。是的,但我可以看到没有太多不受支持的功能,我相信在服务器端微服务中使用ES5作为这些功能比使用运输机。你有什么建议?@TGW-“但是”?我就是这么说的!我不会告诉你使用这些功能会给你带来多大的好处,而不会告诉你不使用transpiler会节省多少精力。这是一个只有你才能做出的判断,。