react native一套代码开发多个App

如题,就是一套代码开发多个APP程序,(比如我们公司主打的APP,会有一些客户想独立运营,我们会给他们单独运营的系统以及APP,我们称之为O单用户,这些APP与我们主打的程序无非就是接口域名,主题颜色,一些界面略有不同,这个时候总不能把代码拷贝出来给他们开发,因为当有新的需求时,还得把新增的代码拷贝到拷贝出来的程序,有点啰嗦了,就是希望有需要的朋友能更明白些)

关于iOS程序一个工程多个targets 可参照之前大神的文章如何在iOS项目中创建多个target?iOS开发多个Target的使用

接下来说下react native iOS端怎么一套代码开发多个APP程序?

网上大部分资料是这么解决的,比如:同app下多个react-native jsBundle的解决方案     

 [ios]多个独立无关联的RN页面的问题

大致就是根据moduleName这个字段,进行不同的js加载,但是会有一个问题,内存开销过大

经过了多方法测试,我有一个方法给大家分享下,内存方面自测没有什么明显过大的开销,“独立入口,独立加载index”

以下是主要代码

上图的jsBundleURLForBundleRoot字段值是根据不同的APP的target值对入口js文件进行独立的加载,以及对codepush打包进行不同的处理,都是相互独立的。

react native 中


每个APP都有一个独立的index_xx.ios.js文件


每个 index_xx.ios.js导入同一个界面


我们可以在index_xx.ios.js 中定义一个全局变量 为了其他界面处理不同APP 


以上思路希望能帮助各位有需要的朋友,如果有什么不足,请指出

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,726评论 25 709
  • wait() : 线程挂起,等待被唤醒。notify() : 通知其他某一个线程从挂起态转换到就绪态 。这两个方法...
    zheng7阅读 340评论 0 0
  • 一千只飞鸟从头顶的天空飞过 只留下一片白茫茫的大地,日光在这片土地上践踏出一片空荡荡的疼痛。 一、 梦里,希望所有...
    宋一朵阅读 226评论 0 1