我注意到这create-react-native-app
并没有在我的项目中创建android/
子目录。这是正常行为吗?我正在使用节点 8.1.0、NPM 4.6.1。这是我的目录结构:
我需要编辑该AndroidManifest.xml
文件,该文件应该位于android/
子目录中,但显然它甚至不存在。为什么会这样?谢谢。
我注意到这create-react-native-app
并没有在我的项目中创建android/
子目录。这是正常行为吗?我正在使用节点 8.1.0、NPM 4.6.1。这是我的目录结构:
我需要编辑该AndroidManifest.xml
文件,该文件应该位于android/
子目录中,但显然它甚至不存在。为什么会这样?谢谢。
这是正常行为。当您需要目录 ios/ 和 android/ 时,
yarn run eject
当您创建一个 react-native 应用程序时,它会随 Expo 一起提供。
Expo 是一个围绕 React Native 构建的免费开源工具链,可帮助您使用 JavaScript 和 Reac 构建原生 iOS 和 Android 应用程序,它允许您在 ios 和 android 上使用他们的应用程序进行构建。
弹出时,您会创建自己的文件,但无法在没有 mac 的情况下在 IOS 上构建。
如果您愿意,react-native 弹出应该可以完成工作。
react-native init ProjectName
这应该使用 ios 和 android 文件夹创建您的项目,而不依赖于 Expo。
另外关于你的问题:
react-native 的 init 命令安装它需要的所有必要组件并启动环境以开始在 react-native 中进行开发。需要在 React Native 中开始工作,就像 git init 初始化 git repo 或 npm init 创建本地包一样。
create-react-native-app 完全是另外一回事,它基于 Dan Abramov(Redux 的创建者)创建的原始 create-react-app。简而言之,它是一个封装和精选的开发工具包,旨在引导项目并帮助初学者学习 react-native,而无需处理通常与创建 React 项目相关的所有繁琐配置(设置 Webpack/babel、配置热重载、测试,棉绒等)。
init 命令对于 react-native 至关重要,因此请习惯使用它。如果您是 react-native 的新手,我强烈建议您研究 create-react-native-app,它是在必须处理配置之前学习 react-native 核心的极好的浸泡石。这来自一个长期学习 react-native 的人,我希望它在我学习的时候就存在。