rak*_*ete 14 android ios react-native
仅使用一个项目构建iOS和Android应用程序非常棒.但是,是否也可以构建具有不同名称,图标等的多个应用程序.
如果您构建具有相同布局的应用程序并且可能与功能/代码/算法的95%相同,这可能非常有用:
事情,每个应用程序可能会有所不同:
也许它是一个完美的解决方案,如果你有一个目录风格,你可以把你想要用来覆盖默认代码库的所有文件.
有人在这里发布了类似或任何想法如何解决这个问题?
这是我最近几天在项目中一直在解决的问题。而且我认为到目前为止我有一些好的(不完美的)解决方案。
主意。我们没有任何内置函数来帮助我们处理这种情况,因此我们可以使用一些外部操作来完成这项工作。我们需要的只是多个 Android 和 iOS 项目以及单个 JS 代码库。
执行。我来到了这个项目结构:
ios和android文件夹是众所周知的,它们是本机项目文件夹。
src 是一个有JS代码的文件夹,可以随意整理
manager是最有趣的一个。在这里我们可以存储多个原生项目文件。我们可以在其中有多个本机项目文件夹,例如app1-android app1-ios app2-android app2-ios. 当我们想要工作时,app1我们只需复制app1-ios并复制app1-android到我们的根目录ios和android文件夹中,因此实际项目是app1. 当我们正在做app1我们能够保存android和ios文件夹,我们manager然后只需复制app2-ios并app2-android以根ios和android。我们都很乐意开发我们的app2.
我们可以手动完成。但我们是开发人员,我们可以让它变得更容易。我已经编写了一个 PHP 脚本,它使它变得php save.php -a app1和php set.php -a app1复制一样简单manager到根和倒退。此外,它还负责不复制一些不重要的人员(ios 中的 pods 文件夹,android 中的 build 等)并运行pod install以确保我们在实际项目中拥有所有 pod。
我坚持使用一个package.json文件将所有 npm 模块安装一次,所以我不必运行npm install在每次项目切换后。
毕竟,我们可以在一个 repo 中拥有任意数量的项目,我们可以独立定制每个项目。
PS如果你想让我分享我的脚本,我会尽快完成(需要一些时间为 github 准备它并写一些更详细的说明),请告诉我。
我们做的事情与您想做的类似,但范围更有限。我们的应用程序有各种版本,每个版本都有名称、徽标、设计、API URL...
它只是为 Android 构建的,所以它本质上是上面评论中提到的几种风格。(我不知道iOS的等效系统是什么)
但我们也使用https://github.com/luggit/react-native-config提供了一种在本机(android 和 iOS)和 javascript 代码之间共享这些特定变量/设置的方法。您所需要的只是设置一个.env.myversion包含您需要的设置的文件,例如:
API_URL=https://my.server.com/
LOGO_FILE=/path/to/the/right/logo
COLORSET=shades_of_blue
正确的文件会在构建时引入,以便您的应用程序具有每个设置的正确版本,然后您可以从代码中调用这些变量,并根据您使用的版本进行分支。好处是它在任何地方都适用。这样做的缺点是,如果您在 JS 层中拥有所有这些内容,而不是在构建系统中使用风格定义它们,那么您可能会在应用程序中附带一些额外的内容。我想这是便利性和性能/效率之间的权衡,您需要根据您的用例来决定。
| 归档时间: |
|
| 查看次数: |
2714 次 |
| 最近记录: |