Nodejs Gulp-在开始任务之前确认



我有一个非常沉重的吞吐任务,我想问他是否真的想开始任务。

我已经看到了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中更好的事情之一:您可能不需要这些插件; - )

最新更新