在nodejs与babel上使用es6的差异

Fel*_*rós 3 babel node.js ecmascript-6

我目前正在学习制作关于ES6的文档,我看到nodejs和babel都是使用新的es6功能和语法的方法,但是,真正的区别是什么?

Joe*_*llo 7

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

Node是服务器端的javascript运行时,虽然你可以使用node来运行babel'd代码(它只是javascript!),你不需要因为节点可以自己理解ES6.

"我应该使用哪种?"的基本答案.是浏览器中的Babel,服务器上的Node.


AVA*_*AVT 5

  1. nodejs 是一个 javascript 运行时环境,建立在 Chrome 的 V8 引擎之上。它本机理解现代javascript。
  2. babel 是一个 polyfill 库,它允许较旧的浏览器(甚至较旧版本的 nodejs)通过将较新的语法“翻译”为较旧的等效语法来运行现代 javascript 语法(ES6)。