我在新的世界里努力学习和应对Javascript.

Why do I find babel and webpack in so many react-native boilerplates? (https://github.com/jhabdas/react-native-webpack-starter-kit)

如果我理解正确的话,babel是支持旧浏览器的,但我没有使用带有react native的浏览器.RN没有将所有js代码编译为本机代码?

webpack也是一样——如果js文件是由RN编译的,为什么我需要Bundle 这些文件呢?

推荐答案

Babel已经包含在react native中,因此您可以 Select 使用ES6+或旧的ES5风格.

澄清一下,React native在移动设备上的javascript core上运行,这意味着它不在浏览器中,但仍然呈现JS代码,因此babel在其中,允许您编写下一代JS代码并使用React的JSX代码.

以下是list个受支持的ES6+功能

有些人希望使用react native附带的Babel中没有的其他功能,因此他们最终使用webpack和自定义Babel配置.最近,他们增加了对异步函数(ES7)等功能的支持,所以我个人认为,除非您有非常特殊的需求,否则不需要使用webpack.

React-native相关问答推荐

一旦我关闭应用程序,Json struct 就会发生变化

React Native TextInput 在android上打开时会自动关闭

新的 react-native ios 应用程序没有构建?

警告:API 'variant.getMergeAssets()' 已过时 / Android Studio 3.3

React Native 转换与枢轴点

设置 rootView.appProperties 不会重新渲染根组件

React Native 中如何使用 Flex 居中组件?

react Navigation 在标题中使用图像?

如何在 react-native 中在图像周围添加阴影

React Native Maps:标记图像不显示在 react-native-maps 中使用自定义标记

React Native:自定义字体在 Android 和 iOS 上呈现不同

React Native:ScrollView 中的 TouchableOpacity onPress 问题

axios 的网络错误和react-native

我可以使用 react native 开发 pwa

无法在react-native元素中扩展 Zip

Xcode 12 - 没有要编译的架构(ONLY_ACTIVE_ARCH=YES,active arch=x86_64,VALID_ARCHS=arm64e armv7s arm64 arm7)

React Native,AppStore 请求 NSLocationAlwaysUsageDescription 值

如何在 Android 手机上运行 React Native 应用程序

是否可以将 Material UI 库与 React Native 一起使用?

React Native 中的 CSS 三角形