Far*_*d A 20 javascript git android ios cordova
我正在iOS和Android上开发一个phonegap应用程序,并使用git控制我的www目录版本.我知道我的HTML文件需要包含正确的Cordova.js文件(取决于我目前正在开发的平台).
当有人在开发Android时,对iOS上的www进行更改是有点烦人的.它给了我无尽的gap_poll警报.
简单的解决方案是记住更改Cordova.js src,使其再次指向iOS版本.问题在于,如果最新提交是在另一个平台上完成的,其他开发人员将需要不断更改其src.
有没有办法自动检测要包含哪个版本的Cordova?这样它可以在任何平台上运行,我们不必进行繁琐的更改.
dha*_*val 25
以下代码对我来说很好:
function init() {
if(isAndroid()){
$("script").attr("src", "lib/android/cordova-1.7.0.js").appendTo("head");
}else if(isiOS()){
$("script").attr("src", "lib/ios/cordova-1.7.0.js").appendTo("head");
}
document.addEventListener("deviceready", onDeviceReady, false);
}
function isAndroid(){
return navigator.userAgent.indexOf("Android") > 0;
}
function isiOS(){
return ( navigator.userAgent.indexOf("iPhone") > 0 || navigator.userAgent.indexOf("iPad") > 0 || navigator.userAgent.indexOf("iPod") > 0);
}
function onDeviceReady(){
console.log("device is ready");
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看完整的源代码
cod*_*key 14
我和我的共享HTML/JS作为Git子模块具有相同的设置.我的index.html位于共享文件夹中,并使用相对路径包含特定于平台的JS文件.
有3个Git项目 - Android,iOS和Shared.Shared被添加为Android和iOS中的子模块.
文件夹结构
www
|-platform
|-js/libs/cordova.js
|-shared
|-index.html
Run Code Online (Sandbox Code Playgroud)
在index.html中
<script type="text/javascript" src="../platform/js/libs/cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)
我使用相同的想法来包含插件的JS文件,这些插件也依赖于平台.
您应该只在源代码管理下拥有主WWW,它不应包含任何cordova文件.当您进行phonegap构建时,应通过phonegap将这些添加到您的平台文件夹中.所以你的常见index.html可以有:
<script type="text/javascript" src="cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)
在您的主WWW中,您将没有cordova.js脚本,但是当您执行以下操作时,您将在您的platform/android文件夹中执行:
phonegap build android
Run Code Online (Sandbox Code Playgroud)
如果您确实需要有条件地调整平台/ xyz文件夹中的内容,Grunt.JS是一个很好的选择.
| 归档时间: |
|
| 查看次数: |
18598 次 |
| 最近记录: |