2012-11-20 76 views
7

有沒有辦法在Grunt中以不同的配置運行兩次任務?假設我的項目中有兩組源文件,我想將它們縮減爲兩個單獨的縮小輸出文件。就像這樣:我可以在Grunt中執行兩次'min'任務嗎?

project 
    srcA 
     fileA1.js 
     fileA2.js 
    srcB 
     fileB1.js 
     fileB2.js 

由於預期的結果,我想看到fileA.min.jsfileB.min.js。我怎麼能做到這一點,因爲min似乎只支持一組srcdest屬性?

min: { 
    dist: { 
    src: [ 'srcA/*.js'], 
    dest: 'fileA.min.js' 
    } 
} 

回答

14

當然 在配置對象,你應該配置兩個分任務

min: { 
    a_file: { 
    src : [/* a src */], 
    dest : "path_to_a_file" 
    }, 
    b_file: { 
    src : [/* b src */], 
    dest : "path_to_b_file" 
    } 
} 

之後,你可以創建或重寫默認任務,甚至將其添加到您的自定義任務:

grunt.registerTask('minify', ['min:a_file', 'min:b_file']) 
//or 
grunt.registerTask('build', ['concat', 'min:a_file', 'min:b_file']) 

現在你可以運行任務:

grunt minify 
grunt build 
+0

謝謝 - 正是我期待的! – nwinkler