node.js和JS Frameworks可以使用ES6吗?

我读过ES6,因为许多Web浏览器都支持它,所以我现在想要的是,如果我可以在最新版本的node.js和js框架(如angular.js)中使用ES6function和语法,或者作出反应。 js?

是的,Node / IO.js可以直接使用ES6,但是今天的支持仍然有限。 正如费利克斯·金(Felix King)指出的那样,你可以在

http://kangax.github.io/compat-table/es6

要在Node.js中启用ES6function,您可以使用harmony参数运行节点,但请注意,它启用了稳定和不稳定的function:

 node --harmony app.js 

如果使用IO.js,默认情况下包含最稳定的ES6function,但是它们也具有harmony参数,可以启用ES6的其他分段function和正在进行的function,所以IO.js可以为您提供稳定的ES6支持,但你可以使用harmony参数获得更多的东西。

 iojs --harmony app.js 

https://iojs.org/en/es6.html

由于Node / IO.js中的ES6支持仍然不完整,为了在Node中获得完整的ES6支持,您应该使用Transpiler

对于Angular和React,要在所有浏览器上获得对主要内容(类,箭头funcs等)的ES6支持,您必须使用Transpiler,并且有许多选项。 一些最受欢迎的是TypeScriptBabelTraceur

这些之间有很多不同之处,这取决于你想要什么。 如果你想要纯粹的ES6 / ES7支持,我会和Babel一起去的。 如果你想要可选types和附加function(例如generics),你应该使用TypeScript

然而,Babel今天拥有最好的工具,我会坚持它的前端(Angular / React)和后端(Node)。

https://babeljs.io/

如果您有兴趣阅读更多关于Transpilers的需求,请阅读:

http://www.ministryofprogramming.com/typescript-is-the-new-javascript/

现在你需要使用一些东西来编译你的ES6到ES5。 例如: https : //babeljs.io/ 。

这是一个使用babeljs的种子(没有文档)。

https://github.com/ottogiron/node-hapi-seed

有了这个,你可以写ES6,觉得你正在使用它“开箱”。

是! 在我们开始讨论Harmony和Babel之前,CoffeeScript已经多年来一直在引领未来。 所以,作为一个经验法则,问问自己:我可以在这里使用CoffeeScript吗? 正如我所说,答案很可能是的!

警告:根据你使用ES6的环境,你可能会问自己现在有什么资格是有用的。

例如,React.js对ES6类有很大的支持,但是不幸的是,不支持mixin,你不得不求助于写更高阶的组件。 Node.js支持生成器,但是在性能等方面可能不太成熟。