React Native是否默认使用Babel或者它只是一个选项?

时间:2017-09-03 06:01:58

标签: react-native ecmascript-6 babeljs jsx transpiler

我知道React Native和Babel之间存在某种关系。

我不确定的是,如果我想使用它,它是否就在那里我必须以某种方式启用它,或者RN是否总是与Babel一起转换。

必须以这种或那种方式进行转换,因为RN使用的是JSX,它不是任何JS引擎的原生。

这让我觉得不太可能有多个转换路径,一个用于JSX,另一个用于Babel + JSX组合。

我问的原因是因为我找到了一个新的JS函数String.fromCodePoint(),它适用于Android但不适用于iOS。

这是因为翻译并没有试图涵盖所有现代JS功能吗?因为这是我应该报告的错误?常规的React Native转换器没有处理的东西,但是Babel会处理吗?

我误解的严重程度究竟是什么? ( - :

1 个答案:

答案 0 :(得分:2)

你说得对。 React Native确实会使用Babel进行转换。你可以看到here用于反应原生的所有巴贝变换器。

我不相信你可以避免使用babel,但如果你想添加变换器和插件,你可以使用自己的.babelrc文件。但是,你仍然需要React Native使用的变换器,所以为了方便起见,你可以使用react-native babel preset,它可以为你提供react-native所需的所有变换器。您需要自己安装和配置的其他变压器。