web-dev-qa-db-fra.com

Gulp: erreur dans la console, assert.js: 90 jettent une nouvelle assert.AssertionError

Je reçois une telle erreur dans la console: $ Gulp

assert.js:90
  throw new assert.AssertionError({
  ^
AssertionError: Task function must be specified

at Gulp.set [as _setTask] (C:\Users\user\Projects\New project\node_modules\undertaker\lib\set-task.js:10:3)

at Gulp.task (C:\Users\user\Projects\New project\node_modules\undertaker\lib\task.js:13:8)

at Object.<anonymous> (C:\Users\user\Projects\New project\gulpfile.js:44:6)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)

Voici mon gulpfile:

var gulp = require('gulp');
var build = require('gulp-build');
var sass = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var browser_sync = require('browser-sync');
var gulps = require("gulp-series");


//gulp-build
gulp.task('build', function() {
    gulp.src('scripts/*.js')
        .pipe(build({
            GA_ID: '123456'
        }))
        .pipe(gulp.dest('dist'))
});

//gulp-sass
gulp.task('sass', function() {
    return gulp.src('scss/**/*.scss')
        .pipe(sourcemaps.init())
        .pipe(sass({
            errLogToConsole: true,
            outputStyle: 'expanded'
        }).on('error', sass.logError))
        .pipe(sourcemaps.write('./maps'))
        .pipe(gulp.dest('css'));
});

//gulp-browser-sync
gulp.task('browser_sync', function() {
    var files = [
        '*.html',
        'css/*.css'
    ];
    browser_sync.init(files, {
        server: {
            baseDir: './'
        }
    });
});

//gulp-watch
gulp.task('watch', ['sass'], function() {
    gulp.watch('scss/**/*.scss', ['sass']);
});

//gulp-series
gulps.registerTasks({
    "test1": (function(done) {
        setTimeout(function() {
            console.log("test1 is done");
            done();
        }, 1000);
    }),
    "test2": (function() {
        console.log("test2 is done");
    })
});

gulps.registerSeries("default", ["test1", "test2"]);

// gulp.task('default', ['watch', 'browser_sync'], function() {});

Je ne suis qu'un débutant, avez-vous une idée de ce que j'ai fait de mal?

14
Lebiediev

Je pense que vous utilisez gulp 4 avec la syntaxe gulp 3.
Donc installez gulp 3 et votre fichier gulp devrait être valide et prêt à fonctionner ou migrez-le vers gulp 4. Ici est un bon article à ce sujet. 

Changelog of gulp 

35
DAXaholic

gulp 4 series (... tâches) 

gulp.task('one', function(done) {
// do stuff
done();
});

gulp.task('two', function(done) {
// do stuff
done();
});

gulp.task('default', gulp.series('one', 'two', function(done) {
// do more stuff
done();
}));

voir https://github.com/gulpjs/gulp/blob/4.0/docs/API.md

8
Dan Alboteanu

gulp installe automatiquement la version 4.0.0

changer la version de votre gulp en exécutant la commande ci-dessous

 npm install [email protected] --save

Cela résoudra votre problème.

3
Basavaraj Hadimani

J'ai résolu le problème en utilisant la commande ci-dessous

npm install --save-dev [email protected]

Cela résoudra votre problème (j'ai résolu le problème dans les fenêtres 7 et 10)

1
Suresh Suthar

Je viens juste de transmettre la même erreur maintenant, La réponse de DAXaholic a raison, votre gulpfile.js 's gulp@3.* mais vous avez installé gulp 4. Installez simplement la version correcte:

npm i -D gulp@3.*
0
giovannipds