使用React Native构建两个孪生应用程序的最佳文件夹结构是什么?

Era*_*bir 4 build react-native

我需要使用React Native创建两个孪生应用程序,并且两个应用程序将使用某些共享组件的相同度为90%,并且样式会有所不同。

问题是:我应该创建一个React Native项目,然后从那里构建两个应用程序吗?

文件夹结构为:

  • ReactProject
    • 共享
    • 专案1
      • 组件
    • 项目2
      • 组件
  • index.ios.js
  • index.android.js

当我要构建其中一个应用程序时,我将需要更改主要组件。

还是应该创建到其他React Native项目

文件夹结构为:

  • 共享
  • ReactProject1
    • 组件
    • index.ios.js
    • index.android.js
  • ReactProject2
    • 组件
    • index.ios.js
    • index.android.js

我想知道什么是做这种项目的正确方法

谢谢 !

mil*_*rac 6

如评论中所述,这绝对是个人喜好。一个可以轻易地将结构选项的数量增加到2个以上。除此之外,我可以分享我的经验。

我们从一个单独的本机项目构建一个应用程序,实际上是4个(四元组)。我们之所以选择这种方式,是因为我们的应用必须高度相似。它们共享相同的功能。此外,如果在设备上安装了多个以上这些应用程序,则可以通过深层链接轻松地在这些应用程序之间切换。但是,它们在主题颜色,徽标,名称和要调用的后端服务等方面有所不同。从单个项目创建多个应用程序的一种方法是重命名该项目。但是您仍然可以在保持项目名称不变的情况下生产多个应用程序。然后,您需要相应地更改一些项目文件。这些文件适用于iOS;

  • 信息清单
  • project.pbxproj
  • AppDelegate.m

对于Android;

  • strings.xml
  • MainActivity.java
  • MainApplicatoin.java
  • AndroidManifest.xml
  • android / build.gradle
  • app / build.gradle

实际上,手动更改所有这些文件是容易出错和繁琐的操作。为了管理这些更改,我们编写了一个bash脚本,将基本应用程序转换为所需的版本。使用这种方法,我们可以从一个项目存储库中管理8个应用程序(iOS和Android的四元组)。最后,我们对使用React Native感到非常高兴,它使我们能够在3个月内构建8个具有生产质量的本地应用程序,而无需了解生产级别的本地应用程序开发。

  • @jbarradas 示例脚本是 [here](https://gist.github.com/milkers/7ca6c30464c5555a92a8d39ef85f2552) 适用于 Android。我建议您在构建大部分主应用程序之后准备这种脚本来变形其他应用程序。否则,您需要花费大量精力来使主文件保持最新。 (2认同)