Page 386 - AngularJS权威教程
P. 386
366 第 26 章 移动应用
command: 'cordova build'
},
emulate: {
command: 'cordova build'
}
}
// ...
目前为止这两条命令非常相似,但是对于这两条命令,我们希望让Cordova首先构建应用程序。
因此我们需要使用局部的Cordova命令模拟或者运行我们的应用程序。局部的Cordova命令可
以在每个平台类型对应的平台路径中找到。
例如,由于我们已经在platforms/ios/cordova/emulate中添加了iOS平台,因此在iOS目录中有
一个局部的emulate命令。如果添加了Android平台,还可以在platforms/android/cordova/emulate
这个Android平台目录内找到这个Cordova命令。
我们还希望构建一个辅助函数来帮助我们找到这些局部Cordova命令。在Gruntfile的顶部,添
加如下命令即可:
module.exports = function(grunt) {
var path = require('path'),
cordova = require('cordova');
var cordova_cmd = function(cmd) {
var target = grunt.option('target') || "ios";
return path.join(__dirname, "platforms", target, "cordova", cmd);
}
}
现在,就可以使用cordova_cmd()函数找到这些局部Cordova命令了。对于这些局部命令,
还可以修改前面建立的shell任务来引入这些自定义的任务。
shell: {
build: {
command: 'cordova build &&' +
cordova_cmd('emulate')
},
run: {
command: 'cordova build &&' +
cordova_cmd("run")
}
}
现在,就可以通过在shell中直接运行它们来使用这些命令进行测试了:
$ grunt shell:build
基于我们正在开发的平台,可能还需要安装相关依赖。例如,对于iOS平台,需
①
要确保安装了ios-sim。更多信息可以参考Cordova官方文档 提供的平台依赖。
由于还没有将这些命令包装到其他命令中来真正地从app/目录将应用构建到www/目录中,因
此它们基本上没什么用。
——————————
① http://docs.phonegap.com/en/3.1.0/index.html