吞咽不执行压缩任务

  • 本文关键字:压缩 任务 执行 gulp
  • 更新时间 :
  • 英文 :


我是gulp世界的新手,因此我仍然在研究如何解决这个问题。

问题:zip任务被跳过,甚至在"默认"任务中定义。

我在哪里/缺少什么?

更多详情

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

$ gulp zip
[16:49:41] Using gulpfile ~/Work/........../gulpfile.js
[16:49:41] Starting 'zip'...
[16:49:41] Finished 'zip' after 11 ms
$

但是,当运行gulp时(没有任何额外的参数,这意味着选择了default(:

$ gulp
[16:49:34] Using gulpfile ~/Work/........../gulpfile.js
[16:49:34] Starting 'clean'...
[16:49:34] Finished 'clean' after 35 ms
...
...
[16:49:36] Finished 'minify-css' after 750 ms
[16:49:36] Starting 'build'...
[16:49:36] Finished 'build' after 2.1 μs
$

正在跳过zip任务(!?

检查"默认"任务定义:

gulp.task('default', ['clean'], function () {
  gulp.start('build');
});

"构建"任务定义为:

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

查看数组末尾列出的zip任务。最后,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;
});

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

又吸取了一课!

默认情况下,Gulp 尽可能多地以异步方式运行任务 - 除非您采取了适当的措施来强制它以顺序方式运行任务。

话虽如此,zip任务确实被执行了 - 但它的执行时间比我预期的要早 - 因此我[错误地]假设它根本没有运行。

因此,我没有将"zip"任务添加为"构建"任务所依赖的另一个任务,而是使"zip"任务依赖于"构建"任务

,并让"默认"任务运行"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
[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
$

最新更新