如何在React Native中使用共享代码库制作多个应用变体?

时间:2018-06-26 12:15:05

标签: react-native

我试图了解在react native的帮助下创建while标签产品的可能性。

要解决的问题是,通过使用相同的代码库和一些配置更改,我们得到了四个不同的应用程序,每个应用程序都有自己的品牌资产(在ios和android中)。

是否可以在本机反应中做到这一点? 有xcode目标和android风格。我们如何在反应本机方式下构建此结构,这样就不必处理本机代码/配置。

2 个答案:

答案 0 :(得分:1)

所以我最终使用的方法是使用12 Factor methodology

通过构建应用程序时加载的.env文件加载配置,然后基于该env文件在旅途中收集所有资源。

配置花费了一些时间,但最终还是值得的。 一个代码库中有6个应用程序(3个iOS应用程序和3个android应用程序)。

这是解释如何做的文章。

Adding multiple target pipelines for React Native Apps (and Fastlane CircleCI deployment

答案 1 :(得分:0)

对于这种问题,可能是最简单的解决方案,因为您要制作这样的文件夹结构

\ Common

  • 资产
    • SharedPic.jpeg
  • sharedApp
    • sharedApp.JS

\ app1

  • 资产
    • pic.jpeg
  • App1.js

\ app2

  • 资产
    • pic.jpeg
  • App2.js

然后硬链接它们:

fsutil hardlink create ".\app1\asstes\pic.jpeg" ".\Common\assets\SharedPic.jpeg"
fsutil hardlink create ".\app2\asstes\pic.jpeg" ".\Common\assets\SharedPic.jpeg"

fsutil hardlink create ".\app1\App1.js" ".\Common\sharedApp\sharedApp.JS"
fsutil hardlink create ".\app2\App2.js" ".\Common\sharedApp\sharedApp.JS"

,但要注意! :

所有硬链接都完全相同,因此捆绑程序将其视为真实文件而不是链接,但无论您编辑哪个文件,所有硬链接文件都会被编辑

(我知道在数据结构级别上,最后一条语句并不完全正确,但是如果您这样看,我认为它更容易理解)