27

我真的需要 Babel 或其他编译器在 React 中使用 ES6 吗?

我在看图表https://kangax.github.io/compat-table/es6/

似乎我当前的浏览器 Chrome(最新稳定版本)几乎支持所有 ES6 功能......

如果我可以在没有 Babel 的情况下使用 ES6,我应该怎么做?

4

3 回答 3

19

如果你想:

  • 使用modules(与require()import ...
  • 利用JSX
  • 支持很多浏览器
  • 使用更高级的特性(async/await),一些还在提议中(装饰器类属性..)

您必须使用 Babel 以确保每个人都能够运行您的代码,否则您可以在没有它的情况下进行开发。

于 2016-06-25T17:24:43.970 回答
18

绝对可以并且确实使用 ES6 W/O babel。所有主流浏览器都原生支持绝大多数功能(参见 CanIUse.com),事实上,唯一不支持的主要功能是模块的导入/导出。

对于这些,您仍然必须使用 HTML 中的脚本标签以正确的顺序手动导入模块。仅客户端(节点需要模块)。

但是,请注意,这对开发人员来说很好,但在生产中,无论如何您都需要将所有 JS 连接并最小化到一个模块中,因此最终可能会使用 Babel/Webpack 或 Babel/Browserify 样式工具链。

于 2017-04-03T18:17:06.100 回答
7

如果没有 babel,您将获得链接到的图表的兼容性。但是请记住,如果您想使用 JSX,您将需要使用 babel 来转换它。

于 2016-06-25T17:20:59.137 回答