我读到 ES6 已经发布并且很多 Web 浏览器都支持它,我想现在我是否可以在最新版本的 node.js 和 js 框架(如 angular.js 或 react)中使用 ES6 特性和语法开箱即用。 js ?

最佳答案

是的,Node/IO.js 可以开箱即用地使用 ES6,但今天的支持仍然有限。正如 Felix King 所指出的,您可以在以下位置查看部分支持:



要在 Node.js 中启用 ES6 功能,您可以使用 harmony 参数运行 node,但请注意,它同时启用了稳定和不稳定的功能:

node --harmony app.js

如果您使用 IO.js,默认情况下包含最稳定的 ES6 功能,但是它们也有 harmony 参数,可以启用 ES6 的附加暂存和正在进行的功能,所以最重要的是 IO.js 为您提供开箱即用的稳定 ES6 ,但您可以使用 harmony 参数获得其他内容。
iojs --harmony app.js



由于 Node/IO.js 中的 ES6 支持仍然是部分的,要在 Node 中获得完整的 ES6 支持,您应该使用 转换器

对于 Angular 和 React,要在所有浏览器中获得对主要内容(类、箭头函数等)的 ES6 支持,您必须使用 Transpiler,并且您有很多选择。一些最受欢迎的是 TypeScript Babel Traceur

这些之间有很多区别,这取决于您想要什么。如果你想要纯 ES6/ES7 支持,我会选择 Babel 。如果您想要可选类型和附加功能(例如泛型),您应该使用 TypeScript

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



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

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

关于javascript - node.js 和 JS 框架可以开箱即用地使用 ES6 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31578807/

10-15 02:45