Gulp:必须在Gulp.set中指定任务函数

问题描述 投票:3回答:1

当我尝试运行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)。

javascript gulp
1个回答
4
投票

如果您使用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()部分。

running tasks in series

© www.soinside.com 2019 - 2024. All rights reserved.