Gulp 停止执行zip任务

Gulp 停止执行zip任务,gulp,Gulp,我是一个新来的狼吞虎咽的世界,因此我仍然是婴儿步如何解决这个问题 问题:正在跳过zip任务,甚至是在“默认”任务中定义的任务 我错过了什么 更多详细信息 当在命令行中指定时,gulp-zip运行良好(没有语法错误,输出按预期生成): 但是,当运行gulp时(没有任何附加参数,这意味着选择了默认值): 正在跳过zip任务(!?) 正在检查“默认”任务定义: gulp.task('default', ['clean'], function () { gulp.start('build'); })

我是一个新来的狼吞虎咽的世界,因此我仍然是婴儿步如何解决这个问题

问题:正在跳过
zip
任务,甚至是在“默认”任务中定义的任务

我错过了什么

更多详细信息

当在命令行中指定时,
gulp-zip
运行良好(没有语法错误,输出按预期生成):

但是,当运行
gulp
时(没有任何附加参数,这意味着选择了
默认值
):

正在跳过
zip
任务(!?)

正在检查“默认”任务定义:

gulp.task('default', ['clean'], function () {
  gulp.start('build');
});
“构建”任务的定义如下:

gulp.task('build', ['html', 'images', 'fonts', 'misc', 'i18n', 'swagger', 'minify-js', 'minify-css', 'zip']);
gulp.task('zip', function () {
  var packageName = 'whatever';
  var dateString = now.getFullYear()+('0'+(parseInt(now.getMonth())+1)).substr(-2)+('0'+now.getDate()).substr(-2);
  var timeString = ('0'+now.getHours()).substr(-2)+('0'+now.getMinutes()).substr(-2)+('0'+now.getSeconds()).substr(-2);
  gulp.src('target/dist/**')
    .pipe(zip(packageName+'-'+dateString+'.'+timeString+'.zip'))
    .pipe(gulp.dest('target'));
  return;
});
查看数组末尾列出的
zip
任务。 最后,
zip
任务定义为:

gulp.task('build', ['html', 'images', 'fonts', 'misc', 'i18n', 'swagger', 'minify-js', 'minify-css', 'zip']);
gulp.task('zip', function () {
  var packageName = 'whatever';
  var dateString = now.getFullYear()+('0'+(parseInt(now.getMonth())+1)).substr(-2)+('0'+now.getDate()).substr(-2);
  var timeString = ('0'+now.getHours()).substr(-2)+('0'+now.getMinutes()).substr(-2)+('0'+now.getSeconds()).substr(-2);
  gulp.src('target/dist/**')
    .pipe(zip(packageName+'-'+dateString+'.'+timeString+'.zip'))
    .pipe(gulp.dest('target'));
  return;
});

任何帮助[指明方向]都将不胜感激。

再上一课

默认情况下,吞咽,-除非您已采取适当措施强制它以顺序方式运行任务

话虽如此,
zip
任务确实执行了——但执行得比我预期的要早——因此我(错误地)认为它根本没有运行

因此,我没有将“zip”任务添加为“build”任务所依赖的另一个任务,而是将“zip”任务设置为依赖于“build”任务,并让“default”任务运行“zip”任务:

gulp.task('zip', function () {
  var packageName = 'whatever';
  var dateString = now.getFullYear()+...
  var timeString = ('0'+now.getHours()).substr(-2)+...
  gulp.src('target/dist/**')
    .pipe(zip(packageName+'-'+dateString+'.'+timeString+'.zip'))
    .pipe(gulp.dest('target'));
  return;
});

gulp.task('build', ['html', 'images', 'fonts', 'misc', 'i18n', 'swagger', 'minify-js', 'minify-css']);

gulp.task('default', ['clean'], function () {
  //gulp.start('build');
  gulp.start('zip');
});
在这些更改之后,构建开始按预期工作:

$ gulp zip
[16:49:41] Using gulpfile ~/Work/........../gulpfile.js
[16:49:41] Starting 'zip'...
[16:49:41] Finished 'zip' after 11 ms
$
$ gulp
[17:04:59] Using gulpfile ~/Work/ij-wksp/smiles-password-form-Q1_2017/gulpfile.js
[17:04:59] Starting 'clean'...
[17:04:59] Finished 'clean' after 45 ms
[17:04:59] Starting 'default'...
[17:04:59] Starting 'wiredep'...
[17:04:59] Starting 'injector:css'...
[17:04:59] Starting 'scripts'...
[17:05:00] Starting 'version'...
[17:05:00] Starting 'consolidate:jade:app'...
[17:05:00] Starting 'consolidate:jade:scripts'...
...
[17:05:01] Finished 'html' after 233 ms
[17:05:01] Starting 'build'...
[17:05:01] Finished 'build' after 3.71 μs
[17:05:01] Starting 'zip'...
[17:05:01] Finished 'zip' after 1.95 ms
$

你所有的任务都有返回语句吗?@Mark大多数任务都有返回语句。带有
return
的任务如下:gulp.task('images',function(){return gulp.src('webapp/assets/images/***')).pipe(…).pipe(gulp.dest('webapp/dist/assets/images/');});我已经尝试过同样的风格,但没有成功:除非明确指定,否则
zip任务不会运行。您是否尝试将zip任务放在构建任务的开头,只是为了查看它是否在那里运行,最后一个任务是否不会运行?