朋友们,我在终端运行gulp
命令时遇到错误。**我使用的是Debian10 buster,nodejs@14.15.0和npm@6.14.8。**我在本地安装了gulp@4.0.2。
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (/home/prithvi/Desktop/bootstrap/node_modules/undertaker/lib/set-
task.js:10:3)
at Gulp.task (/home/prithvi/Desktop/bootstrap/node_modules/undertaker/lib/task.js:13:8)
at Object.<anonymous> (/home/prithvi/Desktop/bootstrap/gulpfile.js:32:6)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at requireOrImport (/usr/lib/node_modules/gulp-cli/lib/shared/require-or-import.js:19:11) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '=='
}
下面的吞咽代码有什么问题?
下面是gulpfile.js文件
'use strict';
var gulp = require('gulp'),
sass = require('gulp-sass'),
browserSync = require('browser-sync');
gulp.task('sass',function() {
return gulp.src('./styles/*.scss')
.pipe(sass().on('error',sass.logError))
.pipe(gulp.dest('./styles'));
});
gulp.task('sass:watch',function() {
gulp.watch('./styles/*.scss',['sass']);
});
gulp.task('browser-sync',function() {
var files = [
'./*.html',
'./styles/*.css',
'./js/*.js',
'./img/*.{png,jpg,gif}'
];
browserSync.init(files, {
server : {
baseDir: './'
}
});
});
gulp.task('default', ['browser-sync'], function() {
gulp.start('sass:watch');
});
1条答案
按热度按时间c8ib6hqw1#
你正在使用Gulp v4和v3语法。你应该降级到v3或者根据“新的”documentation更新任务。
在v4中,您需要传递
taskFunction
或由gulp.series()
或gulp.parallel()
生成的组合任务作为task()
中的第二个参数。例如,您的sass任务可以编写如下: