我们的新版本项目遇到了很多问题,我们使用的是phonegap 3.2。我想问一下,将数据版本化的最佳方法是什么,具有以下要求:
www
文件夹
platforms/android/src
文件夹是否应该有3个不同的存储库位置,一个带有www,一个用于每个平台?或者应该只有一个存储库位置,每个开发人员检查他需要什么?或者每个人都应该拥有包含所有平台文件的整个项目吗?
我们遇到的问题主要是通过cordova构建更改平台代码并提交afterwoods。有时候,在你检查出在另一台计算机上正常运行的整个项目后,它将不再构建。
赞赏任何提示
答案 0 :(得分:4)
目前Cordova支持两种正式的构建应用程序的方式。 1.基于CLI,您可以完全跨平台工作,只需存储 www 和合并文件夹。开发人员假设您可以在新机器上使用Cordova CLI来设置您的环境
cordova platform add android
cordova platform add ios
cordova plugin add org.apache.cordova.device
此工作流程为您提供了在 www 文件夹中拥有通用代码库的好处,您必须为 merges / android 中的CSS,JS或HTML文件提供特定于平台的覆盖或合并/ ios 子文件夹,但您不能以这种方式修改特定于平台的代码。
此工作流程使您能够使用所有平台功能,但您必须手动同步 www 文件夹的内容,并以某种方式使用特定于平台的CSS / JS / HTML 注意:在支持下我的意思是,这是两个工作流程,它引起了开发人员的更多关注。
现在回答您的问题 - 我建议您使用以下工作流程,该工作流程是基于CLI的工作流程的略微修改版本。您必须存储 www ,合并文件夹以及平台的部分内容。 插件文件夹未存储。由于平台子文件夹的许多部分内容都是由Cordova CLI生成的,因此您必须摆弄 .gitignore 文件。
.gitignore的内容
## Eclipse specific stuff.
.metadata/
## Android specific stuff
local.properties
/platforms/android/gen
/platforms/android/bin
/platforms/android/assets/www
/platforms/android/.metadata
/platforms/android/.staging/www
/platforms/android/.settings
platforms/android/CordovaLib/.settings/
/platforms/android/CordovaLib/bin
/platforms/android/CordovaLib/bin/proguard.txt
*.d
*.class
## iOS specific stuff
platforms/ios/.staging/
platforms/ios/platform_www/
platforms/ios/<--projectname-->.xcodeproj/project.xcworkspace
platforms/ios/<--projectname-->.xcodeproj/xcuserdata
platforms/ios/www
## Exclude Plugins
# For iOS you have to exclude only this single folder.
platforms/ios/<--projectname-->/Plugins/
# For Android you have to manually exclude folders for each plugin provider.
# .java files for plugins stored based on plugin id. For example
# to exclude all plugins provided by Cordova add following line.
# Make sure that when you create project you specify project ID
# as com.yourcompany.yourapp that way your code will be in
# platforms/android/src/com/yourcompany/yourapp and separated from
# plugins
platforms/android/src/org/apache/cordova/
# For example to exclude plugins provided by BlackBerry
# add line
# platforms/android/src/come/blackberry/
现在,当您设置新项目时,您应该检查源代码并运行以下命令:
# Create local.properties file which is required for build
cordova platform update android
# Or manually create local.properties with content below
# sdk.dir=C:\\adt\\sdk
# Add plugins
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.vibration
# ... and other plugins
以这种方式设置项目之后,您可以从两个世界中做到最好。您可以使用cordova serve
在浏览器中进行快速测试,如果需要,您可以使用Android / iOS SDK进行繁重的测试。如果您将Cordova代码库的更改保持在最低限度并使用插件来扩展平台,那么您甚至可以将平台更新到更新版本的Cordova。
希望您能够选择最适合您的方法。