2014-09-29 50 views
0

我正在使用節點咕嚕爲科爾多瓦混合移動開發。爲科爾多瓦項目設置併發咕任務

這是我的文件夾結構

myApp 
| 
|__ platforms 
| 
|__ www 
| 
|__ merges 
| 
|__ src 
    | 
    |___ app 
    |  |__ ios 
    |  | |__ js 
    |  | | |__ file1.js 
    |  |__ android 
    |  | |__ js 
    |  | | |__ file2.js 
    |  | | | 
    |__ test 
    |__ Gruntfile.js 
    |__ bower_components 
    |__ package.json 

這是我的咕嚕配置(Gruntfile.js)。

module.exports = function(grunt) { 

    var config = { 
    app: 'app', 
    dist: '../www', 
    platform: grunt.option('platform'); 
    }; 

    require('load-grunt-tasks')(grunt); 

    grunt.initConfig({ 

    config: config, 

    jshint: { 
     options: { 
     jshintrc: '.jshintrc' 
     }, 
     all: [ 
     '<%= config.app %>/<%= config.platform %>/js/**/*.js' 
     ] 
    } 

    // Others 
    }); 

    grunt.registerTask('jshint-both-platforms', 'Run jshint for single or both platforms', function() { 

     // if platform is not passed run jshint for both platforms one by one 
     if(config.platform === null) { 

     grunt.config.set('platform', 'ios'); 
     grunt.task.run(['jshint']); 

     grunt.config.set('platform', 'android'); 
     grunt.task.run(['jshint']); 

     grunt.config.set('platform', null); 

     return; 
     } 

     // if the platform is passed run jshint for the passed one 
     grunt.task.run(['jshint']); 
    }); 

    // others 
} 

如果您看到jshint任務配置,我已經爲android和ios使用了一個塊。

我已經叫jshint-both-platforms自定義任務,對於這兩種平臺上運行jshint如果用戶沒有通過在命令行或終端的任何說法。如果您看到自定義任務,我將依次針對兩個平臺逐一運行jshint任務。

我怎麼能運行兩個平臺同時在jshint任務?咕嚕任務

回答