jmd*_*r81 3 javascript node.js gulp gulp-4
我不知道为什么gulp.series()不触发回调函数。
我正在尝试使用从用户输入中获取字符串,gulp-prompt并使用调用构建和部署功能gulp.series()。我的任务gulp.series()根本不执行。
gulp.task('test', function(){
const prompt = require('gulp-prompt');
return gulp.src('test.js')
.pipe(prompt.prompt({
type: 'checkbox',
name: 'env',
message: 'which environment do you want to deploy to?',
choices: ['qa','prod']
},function(res){
//console.dir(res.env);
var env = res.env;
console.log(env);
console.log('hi');
gulp.series('clean', 'patternlab:build', 'tag-version', deployWeb.bind(this, env), function(done){
done();
});
}));
});
Run Code Online (Sandbox Code Playgroud)
调用gulp.series('task1', 'task2')并没有运行task1和task2。它所做的只是返回一个新函数。仅在调用该函数后,任务才实际执行。
这意味着您需要执行以下操作:
var runTasks = gulp.series('clean', 'patternlab:build',
'tag-version', deployWeb.bind(this, env));
runTasks();
Run Code Online (Sandbox Code Playgroud)
function(done){ done(); }您在代码中拥有的整个部分并没有多大意义,也不需要gulp.series()。