Web应用程序和cordova app之间的代码共享

时间:2015-04-12 03:14:19

标签: angularjs git cordova github hybrid-mobile-app

我们已经编写了一个angularjs网站/应用程序 - 针对移动设备进行了优化 并使用cordova制作基于html5的移动应用程序。

代码(html,css,js)对于web应用程序和cordova app都是相同的 但是会有一些不同的文件。

我们如何设置我们的git repo以共享(仅)web-app repos和cordova-app repos之间的公共文件?

显然,任何.gitignore文件都会被跟踪,并且对所有回购都是通用的。我们可以将我们不想要的所有文件添加到cordova仓库中.gitignore,但这会降低3个以上网络应用回购的可用性。

我们尝试过:

  1. 在该repo上使用.git/info/excludes而不是.gitignore文件的cordova应用程序的项目的本地回购 - 但这只解决了推送的问题来自那个回购,不是从原产地拉(这将导致未跟踪文件的错误)

  2. 设置一个不同的分支 - 并使用git flow style方法进行合并的中间分支 - 但是(显然)not possible具有特定于分支的.git/info/excludes - 所以每次合并都会覆盖所有内容

1 个答案:

答案 0 :(得分:3)

我需要有关该项目的更多信息,因为它可能取决于多种因素:目标,时间,预算等......但在我看来,差异远远超过"某些文件和#34 ;在网络和移动项目之间。 例如:

  • 移动混合应用程序需要一些插件才能执行某些特定的移动任务并充当移动应用程序
  • 优化的网络应用程序对于移动应用来说可能太重了
  • 网络应用程序也需要IE支持,但移动应用程序不支持
  • 良好的响应式网络应用界面不是移动界面,反之亦然

为此,我将创建三个单独的存储库: AngularJS Web project Ionic Mobile project 。第三个包含 AngularJS module 的仓库将作为git submodule导入。第三个模块可以作为核心模块,具有将在两个应用程序之间共享的所有功能(服务,指令,过滤器等)。