我写的自定义gulp-file有什么问题吗,或者我必须添加其他东西吗?

raogr8fs  于 2022-12-08  发布在  Gulp
关注(0)|答案(1)|浏览(167)

朋友们,我在终端运行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');
});
c8ib6hqw

c8ib6hqw1#

你正在使用Gulp v4和v3语法。你应该降级到v3或者根据“新的”documentation更新任务。
在v4中,您需要传递taskFunction或由gulp.series()gulp.parallel()生成的组合任务作为task()中的第二个参数。例如,您的sass任务可以编写如下:

function sass() {
  return gulp.src('./styles/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./styles'))
}

gulp.task('sass', gulp.series(sass))

相关问题