在nodejs和babel上使用es6的差异

我正在学习一个关于ES6的文档,我看到nodejs和babel都是使用新的es6特性和语法的方法,但真正的区别是什么?

       

网上收集的解决方案 "在nodejs和babel上使用es6的差异"

Babel是一个翻译库。 它需要ES6 / 7 / Next代码,并将其编译为以前的标准。 它允许你使用ES6,一些ES7和插件,这些东西还没有正式成为语言的一部分。 Babel通常用于转换ES6 +代码,以便它可以在浏览器中运行,其中许多仍然广泛使用的仅支持ES5。

节点是一个服务器端的JavaScript运行时,而你可以使用节点运行babel'd代码(这只是javascript!),你不需要作为节点可以自己理解ES6。

“我该用哪个?”的基本答案 在浏览器中是Babel,服务器上是Node。

  1. Babel可以用来使es6代码在不支持es6的浏览器上工作,
  2. 并不是每个项目都支持最新版本的Node,Babel可以编译代码,使其可以在较旧的Node版本上运行
  1. nodejs是一个JavaScript运行时环境,build立在Chrome的V8引擎上。 它本质上理解现代的JavaScript。
  2. babel是一个polyfill库,它允许较旧的浏览器(甚至是较旧版本的nodejs)通过将较新的语法“翻译”成其较旧的语法来运行现代JavaScript语法(ES6)。