Grunt同步任务

时间:2015-01-25 17:06:41

标签: javascript gruntjs

我无法按顺序围绕一个基本的grunt循环运行任务,我无法弄明白。基本上我在循环中设置grunt.option,以下任务在其配置中使用该选项。问题是,grunt似乎完全不按顺序运行,所以"选项"在以下任务运行之前,将设置为循环中的最后一个值:

var skins = ['daylight','twilight'];
grunt.registerTask('skins', function(){
  grunt.util.recurse(skins, function(val){
    grunt.option('skin', val); // This runs twice first
    grunt.task.run(['replace:styles','sass:dist']); // ... before this
  })
});

基本上,在第一个任务运行之前,该选项被设置为最后一个数组val。任何提示,以顺序运行...

1 个答案:

答案 0 :(得分:1)

grunt.task.run将任务排队,以便在当前任务完成后立即运行。这意味着'replace:styles''sass:dist'将在'skins'任务完成后运行,在此阶段,'skin'选项将设置为列表中的最后一个值。