Gulp: функция задачи должна быть указана в Gulp.set

#javascript #node.js #gulp

#javascript #node.js #gulp

Вопрос:

Когда я пытаюсь запустить gulp, я получаю ошибку заголовка.

Мой gulpfile.js:

     var gulp = require('gulp'),
        connect = require('gulp-connect-php'),
        gulpPhpunit = require('gulp-phpunit');

    gulp.task('gulpPhpunit', function() {
      var options = {debug: false};
      gulp.src('phpunit.xml') 
    .pipe(phpunit('./vendor/bin/phpunit',options));
    });

    gulp.task("default", ["gulpPhpunit"]);
  

Ошибка

     // error
    assert.js:42
      throw new errors.AssertionError({
      ^

    AssertionError [ERR_ASSERTION]: Task function must be specified
        at Gulp.set [as _setTask] (/var/www/html/wptest2/node_modules/undertaker/lib/set-task.js:10:3)
        at Gulp.task (/var/www/html/wptest2/node_modules/undertaker/lib/task.js:13:8)
        at Object.<anonymous> (/var/www/html/wptest2/gulpfile.js:26:6)
        at Module._compile (module.js:652:30)
        at Object.Module._extensions..js (module.js:663:10)
        at Module.load (module.js:565:32)
        at tryModuleLoad (module.js:505:12)
        at Function.Module._load (module.js:497:3)
        at Module.require (module.js:596:17)
        at require (internal/module.js:11:18)
  

«Функция задачи должна быть указана», я неправильно указываю на gulpPhpunit? Код был скопирован из документации (пример 2).

Ответ №1:

Если вы используете gulp v4, синтаксис изменился. Вы можете понизить свою версию gulp или изменить некоторые части своего кода для запуска с новой версией gulp:

 var gulp = require('gulp'),
    connect = require('gulp-connect-php'),
    gulpPhpunit = require('gulp-phpunit');

gulp.task('gulpPhpunit', function (done) {
    // var options = {debug: false};
    gulp.src('phpunit.xml')
        .pipe(phpunit('./vendor/bin/phpunit', options));

    done();
});

gulp.task("default", gulp.series('gulpPhpunit'));
  

Изменения касаются done обратного вызова и gulp.series() части.

Смотрите Последовательно выполняемые задачи