我有一个非常沉重的吞吐任务,我想问他是否真的想开始任务。
我已经看到了Gulp-Confirm和Gulp-Prompt,但没有帮助我:
我不想管"确认",我只是不想在用户确认之前开始重大任务。
我正在尝试实现这样的目标:
gulp.task('confirm', [], function ()
{
//Ask the confirm question here and cancel all task if the user abort
prompt.confirm({
message: 'This task will create a new tag versionn. Are you sure you want to continue?',
default: true
});
});
gulp.task('Build Release QA', ['confirm'], function ()//use this task to make release to QA
{
//very heavy task, don't start it if user abort it from 'confirm' task
});
有什么想法?
不需要墨西哥墨水插件,实际上是包裹的包裹 - inquirer
-执行您需要的任何事情:
var inquirer = require('inquirer');
gulp.task('default', function(done) {
inquirer.prompt([{
type: 'confirm',
message: 'Do you really want to start?',
default: true,
name: 'start'
}], function(answers) {
if(answers.start) {
gulp.start('your-gulp-task');
}
done();
});
});
重要的是,您通过done
回调并在inquirer
的回调函数中调用,因此您的任务不会过早结束。
这是Gulp中更好的事情之一:您可能不需要这些插件; - )