React Native iOS和Android文件夹不存在

Sim*_*son 32 android ios react-native expo

我是新来的本地反应,我在理解应用程序的文件夹结构时遇到了一些麻烦,应该在创建时应该出现在项目文件夹中.基本上,在使用npm创建项目时,我会获得一些启动文件(App.js等)和node_modules文件夹.我已经启动并运行了expo,它也创建了.expo文件夹.

但是,当我去反应官方文档或在git上查看插件/插件时,他们会多次谈论项目根目录中的android和iOS文件夹.但他们无处可见.然后我得到了一些提示,我可以安装并运行react-native-upgrade-git,据称会生成这些丢失的文件夹.但这也不起作用.

那么我错过了什么?这些文件夹位于哪里?

编辑:这是一个来自Youtube教程的屏幕转储,显示了我正在寻找的项目结构:

在此输入图像描述

小智 34

检查此 Expo 文档添加自定义本机代码

一般来说,

  • 生成ios文件夹:npx expo run:ios
  • 生成android文件夹:npx expo run:android

  • 这是在“ios”和“android”文件夹中添加自定义本机代码的最新答案。您不再需要弹出 > [弹出到 ExpoKit,您可以在其中获得本机项目以及 ExpoKit。此选项已弃用,并且在 SDK 38 后删除了对 ExpoKit 的支持。](https://docs.expo.dev/archive/glossary/#eject?redirected) (3认同)

Fun*_*nja 24

在React Native之上的世博会的一个要点是你不需要下载到android或ios代码.世博会为您处理这些文件夹,您无需与它们互动.你需要那些文件夹吗?如果是这样,你将不得不分开.以下是执行此操作的文档:使用expo进行分离


Dan*_*van 16

您可以通过运行以下命令来实现该项目结构:

npm run eject
Run Code Online (Sandbox Code Playgroud)

但是,它从Expo框架中删除了应用程序,这为Android/iOS代码增加了许多好处和抽象.


muh*_*daa 13

我想如果你想用ReactNative开发应用程序,你可以开始遵循这个:入门使用React Native.

如果您创建项目ReactNative只需在终端上写入:

react-native init YourProjectName
cd YourProjectName
react-native run-ios //for iOS
Run Code Online (Sandbox Code Playgroud)

我希望我的答案可以帮助您使用ReactNative创建项目.谢谢..

  • 这个答案应该比它得到更多的关注。我强烈建议您编辑此答案,以进一步解释 facebook 的另一个 cli 已内置 expo,重点是不必编辑本机代码。通过这种方式,您可以使用 ios 和 android 目录进行更深入的研究。我自己知道这一点,但现在仍然需要搜索正确的 cli 来设置我的新计算机。当我注意到你的回答时,我正要自己回答这个问题。谢谢!我认为,如果您为此添加更多内容,人们最终会发现此内容并对其进行更多投票。 (2认同)

Laz*_*zar 11

对于那些开始使用 Expo 项目的人来说,按照 Funk Soul Ninja 的指示添加到他的答案中(谢谢!:)):

expo run:ios
Run Code Online (Sandbox Code Playgroud)

为我成功了。

该命令创建 ios 文件夹,其中包含可以在 Xcode 中编辑和构建的项目。

我没有执行此步骤,但我相信expo run:androidAndroid 的操作完全类似;但我建议查看有关添加自定义本机代码的 Expo 文档


omp*_*080 7

尝试生成Android和iOS文件夹

react-native eject

react-native link
Run Code Online (Sandbox Code Playgroud)

  • “expoject”对我有用..它创建了 android 和 IOS 文件夹 (3认同)

mau*_*iya 6

我想我有点晚了,但是如果您不想阅读任何文档,请按照以下步骤操作。

使用 expo 创建 React Native 项目时,android 和 ios 文件夹不存在。所以你必须从你的项目中分离 expo 来创建 android 和 ios 文件夹。

首先在 app.json 文件中添加所需的包名

    ios: {
       bundleIdentifier: "com.yourcompany.yourappname",
    },
    android: {
       package: "com.yourcompany.yourappname",
    }
Run Code Online (Sandbox Code Playgroud)

然后在终端中运行以下命令

exp detach
Run Code Online (Sandbox Code Playgroud)

命令成功执行后你会发现android和ios文件夹