React Native - 为什么我需要使用babel或webpack?

26

我在Javascript领域还很新,正在学习和了解React Native。

为什么在许多React Native样板中都有Babel和Webpack? (https://github.com/jhabdas/react-native-webpack-starter-kit)

如果我理解正确,Babel支持旧版浏览器,但我并没有使用带有React Native的浏览器。RN不会将所有js代码编译为原生代码吗?

Webpack也是同样道理 - 如果我的js文件已经由RN编译,我为什么需要打包它们呢?

1个回答

43

Babel已经包含在react-native中,因此您可以选择使用ES6+或较旧的ES5样式进行编写。

澄清一下,React Native在移动设备上运行javascript core,这意味着它不在浏览器中,但仍会渲染JS代码,因此babel在其中起到了作用,允许您编写下一代JS代码并使用React的JSX代码。

以下是支持的ES6+功能列表

有些人希望使用react-native附带的Babel之外的其他功能,因此他们最终使用webpack和自定义Babel配置。最近,他们添加了对诸如异步函数(ES7)之类的功能的支持,因此我个人认为,除非您有非常特定的需求,否则不需要使用webpack。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接