我真的需要 Babel 或其他转译器才能将 ES6 与 React 一起使用吗?
Do I really need Babel or other transpilers to use ES6 with React?
我真的需要 Babel 或其他转译器才能在 React 中使用 ES6 吗?
我在看图表https://kangax.github.io/compat-table/es6/
好像我现在的浏览器Chrome(最新的稳定版)支持几乎所有的ES6特性...
如果不使用 Babel 也能使用 ES6,我应该怎么做?
没有 babel,您将获得所链接图表的兼容性。但请记住,如果你想使用 JSX,你将需要使用 babel 来转换它。
如果你想:
- 使用
modules
(使用 require()
或 import ...
)
- 使用
JSX
- 支持很多浏览器
- 使用更多高级功能 (async/await), some still in proposals (decorators, class properties..)
您必须使用 Babel 以确保每个人都能够运行您的代码,否则您可以在没有它的情况下进行开发。
绝对可以并且确实使用 ES6 W/O babel。所有主要浏览器都原生支持绝大多数功能 (see CanIUse.com),事实上,唯一不支持的主要功能是 import/export 模块。
对于这些,您仍然需要使用 HTML 中的脚本标签以正确的顺序手动导入您的模块。仅客户端(Node 需要模块)。
但是,请注意,这对开发人员来说很好,但在生产中,您无论如何都需要将所有 JS 连接并最小化到一个模块中,因此请使用 Babel/Webpack 或 Babel/Browserify 样式的工具链最终可能就是你的结局。
我真的需要 Babel 或其他转译器才能在 React 中使用 ES6 吗?
我在看图表https://kangax.github.io/compat-table/es6/
好像我现在的浏览器Chrome(最新的稳定版)支持几乎所有的ES6特性...
如果不使用 Babel 也能使用 ES6,我应该怎么做?
没有 babel,您将获得所链接图表的兼容性。但请记住,如果你想使用 JSX,你将需要使用 babel 来转换它。
如果你想:
- 使用
modules
(使用require()
或import ...
) - 使用
JSX
- 支持很多浏览器
- 使用更多高级功能 (async/await), some still in proposals (decorators, class properties..)
您必须使用 Babel 以确保每个人都能够运行您的代码,否则您可以在没有它的情况下进行开发。
绝对可以并且确实使用 ES6 W/O babel。所有主要浏览器都原生支持绝大多数功能 (see CanIUse.com),事实上,唯一不支持的主要功能是 import/export 模块。
对于这些,您仍然需要使用 HTML 中的脚本标签以正确的顺序手动导入您的模块。仅客户端(Node 需要模块)。
但是,请注意,这对开发人员来说很好,但在生产中,您无论如何都需要将所有 JS 连接并最小化到一个模块中,因此请使用 Babel/Webpack 或 Babel/Browserify 样式的工具链最终可能就是你的结局。