Gulp 错误任务“+name+”需要一个函数,该函数是一个函数
Gulp Error Task '+name+' requires a function that is a function
之前有人在这里问过类似的问题:
在我的例子中,我设置了一个 gulp
构建。
已安装
gulp-connect
gulp-postcss
gulp-sourcemaps
当我 运行 gulp
我得到
错误
C:\Users\jwilson\Documents\James\jameswilson.co.za\node_modules\orchestrator\index.js:44
throw new Error('Task '+name+' requires a function that is a function');
^
Error: Task default requires a function that is a function
at Gulp.Orchestrator.add (C:\Users\jwilson\Documents\James\jameswilson.co.za\node_modules\orchestrator\index.js:44:10)
at Object.<anonymous> (C:\Users\jwilson\Documents\James\jameswilson.co.za\gulpfile.js:19:6)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Liftoff.handleArguments (C:\Users\jwilson\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:116:3)
Gulpfile
var gulp = require('gulp'),
connect = require('gulp-connect');
postcss = require('gulp-postcss');
sourcemaps = require('gulp-sourcemaps');
gulp.task('connect', function() {
connect.server();
});
gulp.task('css', function () {
return gulp.src('src/**/*.css')
.pipe( sourcemaps.init() )
.pipe( postcss([ require('precss'), require('autoprefixer') ]) )
.pipe( sourcemaps.write('.') )
.pipe( gulp.dest('build/') );
});
gulp.task('default', ['css'], ['connect']);
我认为错误在这里:
gulp.task('default', ['css'], ['connect']);
在我看来,您使用的是 gulp v3.9.1 或更早版本。在这种情况下,gulp.task
最多接受三个参数:任务名称、相关任务名称数组和函数。您正在传递任务名称和两个 1 元素数组。 Gulp 正在抱怨,因为它期望 task
的第三个参数是一个函数,但您将数组 ['connect']
.
传递给它
我想你想用一个 2 元素数组替换两个 1 元素数组:
gulp.task('default', ['css', 'connect']);
对于 gulp v4 或更高版本,您可以 运行 使用以下方法 series 中的两个任务:
gulp.task('default', gulp.series('css', 'connect'));
或在 parallel 中,使用:
gulp.task('default', gulp.parallel('css', 'connect'));
之前有人在这里问过类似的问题:
在我的例子中,我设置了一个 gulp
构建。
已安装
gulp-connect
gulp-postcss
gulp-sourcemaps
当我 运行 gulp
我得到
错误
C:\Users\jwilson\Documents\James\jameswilson.co.za\node_modules\orchestrator\index.js:44
throw new Error('Task '+name+' requires a function that is a function');
^
Error: Task default requires a function that is a function
at Gulp.Orchestrator.add (C:\Users\jwilson\Documents\James\jameswilson.co.za\node_modules\orchestrator\index.js:44:10)
at Object.<anonymous> (C:\Users\jwilson\Documents\James\jameswilson.co.za\gulpfile.js:19:6)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Liftoff.handleArguments (C:\Users\jwilson\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:116:3)
Gulpfile
var gulp = require('gulp'),
connect = require('gulp-connect');
postcss = require('gulp-postcss');
sourcemaps = require('gulp-sourcemaps');
gulp.task('connect', function() {
connect.server();
});
gulp.task('css', function () {
return gulp.src('src/**/*.css')
.pipe( sourcemaps.init() )
.pipe( postcss([ require('precss'), require('autoprefixer') ]) )
.pipe( sourcemaps.write('.') )
.pipe( gulp.dest('build/') );
});
gulp.task('default', ['css'], ['connect']);
我认为错误在这里:
gulp.task('default', ['css'], ['connect']);
在我看来,您使用的是 gulp v3.9.1 或更早版本。在这种情况下,gulp.task
最多接受三个参数:任务名称、相关任务名称数组和函数。您正在传递任务名称和两个 1 元素数组。 Gulp 正在抱怨,因为它期望 task
的第三个参数是一个函数,但您将数组 ['connect']
.
我想你想用一个 2 元素数组替换两个 1 元素数组:
gulp.task('default', ['css', 'connect']);
对于 gulp v4 或更高版本,您可以 运行 使用以下方法 series 中的两个任务:
gulp.task('default', gulp.series('css', 'connect'));
或在 parallel 中,使用:
gulp.task('default', gulp.parallel('css', 'connect'));