Javascript Grunt同步任务
我不能把我的头绕在一个基本的grunt循环上,按顺序运行任务,我也弄不明白。基本上,我在循环中设置一个grunt.option,下面的任务在配置中使用该选项。问题是grunt似乎完全无序地运行,因此在运行以下任务之前,将“option”设置为循环中的最后一个值:Javascript Grunt同步任务,javascript,gruntjs,Javascript,Gruntjs,我不能把我的头绕在一个基本的grunt循环上,按顺序运行任务,我也弄不明白。基本上,我在循环中设置一个grunt.option,下面的任务在配置中使用该选项。问题是grunt似乎完全无序地运行,因此在运行以下任务之前,将“option”设置为循环中的最后一个值: var skins = ['daylight','twilight']; grunt.registerTask('skins', function(){ grunt.util.recurse(skins, function(val)
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。要按顺序运行此任务,请提供任何提示…
grunt.task.run
在当前任务完成后立即将任务排队运行。这意味着'replace:styles'
和'sass:dist'
将在'skins'
任务完成后运行,并且在此阶段'skin'
选项设置为列表中的最后一个值。感谢@drorb指出了这不起作用的原因。由于我对grunt/node缺乏一定的经验,我最终在terminal中用一个简单的bash脚本解决了这个问题,它只处理一些grunt任务,顺序是:alias skins='grunt sassy--skin=daylight&&grunt sassy--skin=twilight'