AssertionError [ERR_ASSERTION]: 必须指定任务函数

Dan*_*iel 1 javascript gulp

我正在尝试重构我 2 年前编写的一些遗留代码。gulpfile.js准确地说是一个文件。

问题似乎在这里:

// gulp.task('default', ['browserify', 'copy'], function() {
//   return gulp.watch('src/**/*.*', ['browserify', 'copy']);
// });
Run Code Online (Sandbox Code Playgroud)

我将其注释掉并替换为:

gulp.task('default', gulp.series('browserify', 'copy'), function() {
  return gulp.watch('src/**/*.*', ['browserify', 'copy']);
});
Run Code Online (Sandbox Code Playgroud)

还不够好。整个文件如下所示:

var gulp = require('gulp');
var browserify = require('browserify');
var reactify = require('reactify'); // Converts jsx to js
var source = require('vinyl-source-stream'); // Converts string to a stream

gulp.task('browserify', function() {
  browserify('./src/js/main.js')
    .transform('reactify')
    .bundle()
    .pipe(source('main.js'))
    .pipe(gulp.dest('dist/js'));
});

gulp.task('copy', function() {
  gulp.src('src/index.html').pipe(gulp.dest('dist'));
  gulp.src('src/css/*.*').pipe(gulp.dest('dist/css'));
  gulp.src('src/images/*.*').pipe(gulp.dest('dist/images'));
  gulp.src('src/js/vendors/*.*').pipe(gulp.dest('dist/js'));
});

// gulp.task('default', ['browserify', 'copy'], function() {
//   return gulp.watch('src/**/*.*', ['browserify', 'copy']);
// });

gulp.task('default', gulp.series('browserify', 'copy'), function() {
  return gulp.watch('src/**/*.*', ['browserify', 'copy']);
});
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些入门文档,但到目前为止我所阅读的内容并没有帮助我重构它。

小智 5

使用 Gulp 4.0,您连续运行任务的方式发生了变化。您可以使用以下链接https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md阅读并获取您想要的内容 。