ES6 和 ES7 功能没有 babel 在 react-native 中转译?

ES6 and ES7 features without babel transpiling in react-native?

提问人:Merc 提问时间:12/22/2017 最后编辑:Felix KlingMerc 更新时间:12/23/2017 访问量:592

问:

我很想使用 Javascript ES6 和 ES7 语法(尤其是 async/await,我最好的新朋友)而不进行转译。这甚至是一种选择吗?它应该是一种选择吗?

这完全取决于一个子问题:react-native 在 Android 和 iOS 上有效地使用了什么 Javascript 引擎?它是从设备本身获取的吗?(在这种情况下,转译是唯一的选择......还是由 React Native 提供的?

反应原生 ecmascript-6 async-await ecmascript-2017

评论

0赞 Felix Kling 12/23/2017
ES7(ES2016)只引入了两个新功能。 是 ES2017 的一部分。async/await
0赞 Rich Churcher 12/23/2017
没错,它从未进入 2016 年。将不得不开始使用版本名称之后...+

答:

2赞 Rich Churcher 12/22/2017 #1

你可以愉快地在 React Native 中使用 /(事实上,你已经能够使用一段时间了......自 0.10 起)。至于在不转译的情况下使用它,这是一个稍微棘手的问题。React Native 只需要 Node v6 及更高版本,所以很明显,通过 Webpack/Babel 完成了相当多的转译,以确保它仍然适用于旧版本的 Node。asyncawait

设备上部署的环境是 JavaScriptCore(有关详细信息,请参阅 JavaScript 环境)。在调试时,您通过 Chrome 使用 V8。