2012-11-20 51 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