2016-12-11 63 views
1

我知道Node.js现在完全支持ES6(使用nodejs 7.2.1)。 有人告诉我,Node.js的ES6实现不是生产就绪,我必须有Babel用于生产就绪ES6。我必须在Node.js中使用Babel吗?

我读了babeljs.io,它是一个不支持ES6的旧浏览器的JavaScript编译器。

我有点困惑。 Node.js是否需要Babel编译成ES5?或者我可以使用ES6的Node.js?生产准备好了吗?我真的需要Babel和Node.js吗?

+0

这取决于你需要什么功能。大多数ES2015功能都可用且稳定。 ES6模块不在那里。 – estus

+0

根据http://kangax.github.io/compat-table/es6/需要什么?或者,您可以将您的要求与http://node.green –

+0

进行比较。您不应在生产中使用babel作为节点,因为babel的工作方式会对您的表现产生负面影响。阅读更多在这个线程:http://stackoverflow.com/questions/30773756/is-it-okay-to-use-babel-node-in-production。 ES6/2015的节点实现实际上是生产准备好的,因为它本身内置于V8中。 –

回答

4

最新的Node.js版本几乎支持除模块以外的所有ES6功能。但是,如果您正在为Node.js开发一个库,许多使用它的人可能没有最新版本的Node。如果您不知道您的包装将用于何处,则应使用es2015预设。如果您知道您的软件包仅用于Node.js 7.x,则可以使用babel-preset-node7

相关问题