当我们创建 React app 时,我们需要将 jsx 转换为 js 和 babel 就是这样做的。
我们也可以使用gulp或webpack来构建可由浏览器执行的最终代码。
使用 React-Native ,我们仍在使用 jsx 和 .babelrc 包含 " react-native" 的文件,仅作为必需的预设。很明显,babel正在将jsx转换为本机代码。
我的查询是" ReactNative 使用了哪种捆绑包?"。 babel如何将jsx转换为本机代码? ReactNative 使用gulp,grunt,webpack还是别的什么?
答案 0 :(得分:2)
React Native使用自己的打包器(包含在React Native'代码中:https://github.com/facebook/react-native/tree/master/packager)。
它使用了Babel,这就是为什么你在项目根目录中看到.babelrc
的原因。
他们没有使用像webpack这样更标准的东西的主要原因是因为它似乎对React Native的项目来说不够快,所以Facebook决定创建他们自己的打包器。如果您想了解更多信息,可以在github中查看此问题:https://github.com/facebook/react-native/issues/5他们讨论如何克服使用webpack时遇到的打包问题。如果你是React Native的内部人员,这是第一个问题之一,读起来很有趣