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
   381   382   383   384   385   386   387   388   389   390   391