che*_*zer 3 confirm prompt node.js gulp
我有一个非常繁重的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 version\n. 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
});
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
ddp*_*rrt 12
不需要Gulp插件,实际上这两个包裹的包装 - 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();
});
});
Run Code Online (Sandbox Code Playgroud)
done一旦你处于回调函数中inquirer,传递回调并调用它是很重要的,因此你的任务不会过早结束.
这是Gulp中最好的东西之一:你可能不需要那些插件;-)