根据我自己的任务,我使用grunt-prompt
来询问布尔值Q,然后根据答案运行或不运行任务。
问题是grunt.task.run()实际上并不运行任务,而是将其添加到队列中。
所以,如果我从自己的任务中做到:
grunt.task.run('prompt:ask');
if (grunt.config('answer')) {
grunt.task.run('do:something');
}
当if执行提示任务时,实际上还没有运行......
有推荐的方法吗?
可能是一些语法:
grunt.task.run('prompt:ask').andThen(function(){
if (grunt.config('answer')) {
grunt.task.run('do:something');
}
})
自我注意:检查grunt从grunt.task.run返回的内容
答案 0 :(得分:2)
输入答案后,您需要使用then
option插件执行代码:
prompt: {
ask: {
options: {
questions: [
// your question here...
],
then: function(results) {
if (results[0].whatever) { // obviously you'll need to update this...
grunt.task.run('prompt:ask');
}
}
}
}
}