Переписал gulpfile.js для Gulp 4, и теперь задание по умолчанию зависает - PullRequest
0 голосов
/ 27 апреля 2019

Я обновился с Gulp 3.9.1 до Gulp. 4.0.1 и теперь, когда я запускаю его, я вижу "Starting 'default'...", и больше ничего не происходит. Вот конец моего gulpfile:

gulp.task('default', function() {
  gulp.watch('app/styles/**/*.scss', gulp.series('sass')),
  gulp.watch('app/*.html', gulp.series('browserSync')),
  gulp.watch('app/js/**/*.js', gulp.series('browserSync'));
  return
});

// Optimization Tasks 
// ------------------

// Optimizing CSS and JavaScript 
gulp.task('useref', function() {

  return gulp.src('app/*.html')
    .pipe(useref())
    .pipe(gulpIf('*.js', uglify()))
    .pipe(gulpIf('*.css', cssnano()))
    .pipe(gulp.dest('dist'));
});

// Optimizing Images 
gulp.task('images', function() {
  return gulp.src('app/images/**/*.+(png|jpg|jpeg|gif|svg)')
    // Caching images that ran through imagemin
    .pipe(cache(imagemin({
      interlaced: true,
    })))
    .pipe(gulp.dest('dist/images'))
});

// Copying fonts 
gulp.task('fonts', function() {
  return gulp.src('app/fonts/**/*')
    .pipe(gulp.dest('dist/fonts'))
})

// Cleaning 
gulp.task('clean', function() {
  return del.sync('dist').then(function(cb) {
    return cache.clearAll(cb);
  });
})

gulp.task('clean:dist', function() {
  return del.sync(['dist/**/*', '!dist/images', '!dist/images/**/*']);
});

// Build Sequences
// ---------------

gulp.task('build', function(callback) {
  runSequence(
    'clean:dist',
    'sass',
    ['useref', 'images', 'fonts'],
    callback
  )
})

Я пытался переписать свой код несколькими разными способами, и я получил различные ошибки. Самое большее, что я получил, - это передать done в функции и запустить функцию done в конце некоторых задач gulp, но я понимаю, что должен иметь возможность использовать Gulp 4 без использования этого маршрута.

...