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

IT技术 reactjs react-native webpack babeljs
2021-05-13 14:35:05

我是 Javascript 世界的新手,我正在努力学习和理解 React Native。

为什么我会在这么多 react-native 样板中找到 babel 和 webpack?( https://github.com/jhabdas/react-native-webpack-starter-kit )

如果我理解正确,babel 是为了支持旧浏览器,但我没有使用带有 react-native 的浏览器。RN 不会将所有 js 代码编译为原生代码吗?

与 webpack 相同 - 如果它们是由 RN 编译的,为什么我需要捆绑我的 js 文件?

1个回答

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

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

这是支持的 ES6+ 功能列表

有些人想要额外的 Babel 没有的特性,而这些特性是 react-native 附带的,所以他们最终使用 webpack 和自定义 Babel 配置。最近他们增加了对异步函数(ES7)之类的支持,所以就个人而言,我认为除非你有非常特殊的需求,否则你不需要走 webpack 路线。