我正在创建一个将由
支持的phonegap应用Android
Windows phone
iOS
BlackBerry
到目前为止,主要开发都发生在Android上,所有JS / HTML都被复制到其他平台。继续,我们必须为所有平台保留不同的存储库,以便于维护。
我能想到的显而易见的方法是为每个平台创建一个文件夹并在那里维护代码。但在这种情况下,如果我们要修改任何www(JS / HTML / CSS / Images)内容,我们需要手动复制到所有repos。
有没有更好的方法来处理常见文件,或者将同一文件复制到4个位置是唯一的出路?
答案 0 :(得分:2)
您可以使用"Externals"。外部存储库允许您在给定的存储库中包含一个单独的存储库 - 因此在特定于设备的存储库中,您可以包含通用的“JS / HTML”存储库。
我们实际上已经放弃了这种方法,因为它确实意味着每次有人在共享仓库中提交新版本时,该更改会立即传播到其他存储库。这可能会导致管理这些依赖项的问题 - 因此我们使用构建脚本从共享存储库中检出特定版本,作为构建过程的一部分。
答案 1 :(得分:2)
一种可能的解决方案是将您的代码拆分为以下文件夹/存储库:
然后通过执行以下步骤创建一个可以从这些文件中创建有效项目的小脚本:
common
文件夹的所有文件复制到target
文件夹target
文件夹(并覆盖现有文件)因此,您必须仅在一个位置更改平台独立性,并且仍然需要更改以添加特定于平台的代码(或覆盖特定平台的公共代码)。
答案 2 :(得分:0)
您应该使用gruntjs构建应用