angularjs - Web 应用程序和 Cordova 应用程序之间的代码共享

标签 angularjs git cordova github hybrid-mobile-app

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

Web 应用程序和 cordova 应用程序的代码(html、css、js)将相同
但会有一些文件会有所不同。

我们如何设置我们的 git 存储库以在 web 应用程序存储库和 cordova 应用程序存储库之间共享(仅)公共(public)文件?

显然,任何 .gitignore 文件都会被跟踪,并且对所有存储库都是通用的。我们可以将 cordova 存储库中不需要的所有文件添加到 .gitignore,但这会降低 3+ 个网络应用程序存储库对一个 cordova 存储库的可用性。

我们已经尝试过:

  1. 在该 repo 上使用 .git/info/excludes 而不是 .gitignore 文件在 cordova 应用程序的项目本地 repo - 但这仅解决了从该 repo 中推送的问题,而不是从源中 pull 的问题(这将导致未跟踪文件出错)

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

最佳答案

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

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

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

关于angularjs - Web 应用程序和 Cordova 应用程序之间的代码共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29585547/

相关文章:

javascript - AngularJS:在异步验证器完成之前阻止表单提交

git - 如何删除 git MERGE_MSG?

linux - 如何在 CentOS 8.x/7.x/6.x 上安装最新版本的 git

javascript - Cordova 不支持的转换属性

javascript - 尝试包含 angular.min.js 文件时出现 404 错误

javascript - 为一组中的 div 设置动画

git - git下提交文件时如何控制重命名阈值?

android - Cordova InAppBrowser 并与 webview 共享 cookie

ios - iOS 上两个带有 phonegap 的网络存储,一个正在备份?

javascript - 如何在 Angular JS 的 Controller 中访问 JSON 的子元素