扩展@Jake Moshenko 答案:
我喜欢省略platforms
目录的想法。事实上,我可以同时排除plugins
和platforms
目录。一个很好的起点.gitignore
:
platforms/
plugins/
这样做的问题是,必须先初始化 repo 的干净副本,然后才能实际使用它。创建一个初始化脚本可能是有意义的,例如:
#!/bin/bash
textReset=$(tput sgr0)
textGreen=$(tput setaf 2)
message_info () {
echo "${textGreen}[my-app]${textReset} $1"
}
message_info "Creating necessary directories..."
mkdir plugins
mkdir platforms
message_info "Adding platforms..."
# If using cordova, change to: cordova platform add android
phonegap build android
phonegap build ios
message_info "Adding plugins..."
# If using cordova, change to: cordova plugin add
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
对这种方法的一个警告是,在 phonegap/cordova 支持的范围之外(即屏幕方向支持)自定义平台特定的应用程序代码/配置变得更具挑战性。
这个要点包含一个更完整的脚本,用于处理不提交plugins
和platforms
目录的项目。它提供了一种将图标和闪屏图像从 www 复制到平台目录(适用于 iOS 和 Android)、安装插件以及处理应添加到版本控制的平台特定文件的机制。
这是另一个要点,它是上述 bash 脚本的 Grunt 端口。(感谢@obie 提出咕噜声)。