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

gor*_*rds 6 git github angularjs cordova hybrid-mobile-app

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

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

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

显然,任何.gitignore文件都被跟踪,并且对所有回购都是通用的.我们可以在cordova repo中添加我们不想要的所有文件,.gitignore但这会降低3个web应用程序回购对于一个cordova回购的可用性.

我们尝试过:

  1. 有一个本地回购的cordova应用程序的项目与.git/info/excludes该回购而不是.gitignore文件 - 但这只解决了从该回购推送的问题,而不是从原点拉出(这将导致未跟踪文件的错误)

  2. 设置一个不同的分支 - 并使用git流样式方法进行合并的中间分支 - 但是(显然)不可能有一个.git/info/excludes特定的分支 - 所以一切都会被覆盖在每个合并

man*_*nza 3

我需要有关该项目的更多信息,因为它可能取决于多种因素:目标、时间、预算等……但在我看来,网络项目和移动项目之间的差异不仅仅是“一些文件”。例如:

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

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