ecma6 是不是仍然需要转译器并做出反应?

Posted

技术标签:

【中文标题】ecma6 是不是仍然需要转译器并做出反应?【英文标题】:Are transpilers still needed for ecma6 and react?ecma6 是否仍然需要转译器并做出反应? 【发布时间】:2016-07-31 19:46:53 【问题描述】:

我正在为 react ecma6 项目使用 babel 转译器,但似乎 chrome 已经支持 ecma6 函数、方法和语法。是否真的需要转译器。语法 wize,工作流程中的 traspiler 部分是什么? chrome 不支持哪些函数或方法?

【问题讨论】:

【参考方案1】:

请参阅http://caniuse.com/,这是一个检查兼容性/实施状态的网站。

就个人而言,我仍然会在这个时候进行转换,因为并不是每个人都使用 Chrome 作为他们的浏览器。如果您知道自己只有 Chrome 客户端(例如 Intranet),则可以使用大多数 ES6 功能。

importsexports 对我来说是一个巨大的功能,目前大多数浏览器都不包含它们,因此您的里程可能会有所不同。

【讨论】:

Thnx,导入和导出是开发阶段的重要功能。但最后我需要将所有代码捆绑到一个文件中,这使得它们无关紧要。如果没有转译器,react jsx 会不会有问题? 这是一个非常广泛的问题。是的,可能有问题。由于您正在捆绑,您不妨走 webpack/browserify 路线并在此过程中转译您的代码。在执行此操作时,您可能还希望缩小/丑化代码以提高性能。 :) @ShaiKimchi JSX 没有转译就无法工作,因为它不是,也可能永远不会成为 ES/JS 的一部分。【参考方案2】:

我同意马里奥关于http://caniuse.com/ 的看法,您可以在https://developer.mozilla.org/en-US/docs/Web/javascript 上获得您可能需要的每个浏览器功能的更多详细信息。

始终考虑您的最低常见恶魔。通常是 IE,但有时这取决于现在的 FF、Safari 移动设备等。如果您最低要求的浏览器/平台不支持该功能,您可以使用 Babble module 之类的东西进行即时转换,或者直接从 MDN 获取 polyfill,该代码通常编写和维护良好。

关于 polyfills - 如果您冒险自己编写:

http://www.codeproject.com/Articles/369858/Writing-polyfills-in-Javascript http://javascriptplayground.com/blog/2012/06/writing-javascript-polyfill/

【讨论】:

以上是关于ecma6 是不是仍然需要转译器并做出反应?的主要内容,如果未能解决你的问题,请参考以下文章

数据更改时如何对 UIControl 调整大小做出反应

discord.js :reaction.message.author.tag 正在发送没有反应的用户,而不是消息作者

mobx + 反应意外令牌

对某些案例问题做出反应警告计算匹配?

我可以从节点传递数据以做出反应吗?

使用 NextJS 和 Next-CSS 做出反应:您可能需要适当的加载器来处理这种文件类型