Выдает ошибку утверждения

Поиск по тому же вопросу не смог решить. Я работаю над установкой bootstrap 4 с помощью учебника https://coursetro.com/posts/code/130/Learn-Bootstrap-4-Final-in-2018-with-our-Free-Crash-Course этого парня.

Когда последовало то же самое: я вижу

Gulp: ошибка в консоли, assert.js: 90 выбросить новый assert.AssertionError

 AssertionError [ERR_ASSERTION]: Task function must be specified
    at Gulp.set [as _setTask] (C:\Users\dc\Projects\main-pro
ject\bs4\node_modules\undertaker\lib\set-task.js:10:3)
    at Gulp.task (C:\Users\dc\Projects\main-project\bs4\node
_modules\undertaker\lib\task.js:13:8)
    at Object.<anonymous> (C:\Users\dc\Projects\main-project
\bs4\gulpfile.js:21: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)

а это мой gulpfile.js

    var gulp        = require('gulp');
var browserSync = require('browser-sync').create();
var sass        = require('gulp-sass');

// Compile sass into CSS & auto-inject into browsers
gulp.task('sass', function() {
    return gulp.src(['node_modules/bootstrap/scss/bootstrap.scss', 'src/scss/*.scss'])
        .pipe(sass())
        .pipe(gulp.dest("src/css"))
        .pipe(browserSync.stream());
});

// Move the javascript files into our /src/js folder
gulp.task('js', function() {
    return gulp.src(['node_modules/bootstrap/dist/js/bootstrap.min.js', 'node_modules/jquery/dist/jquery.min.js', 'node_modules/popper.js/dist/umd/popper.min.js'])
        .pipe(gulp.dest("src/js"))
        .pipe(browserSync.stream());
});

// Static Server + watching scss/html files
gulp.task('serve', ['sass'], function() {

    browserSync.init({
        server: "./src"
    });

    gulp.watch(['node_modules/bootstrap/scss/bootstrap.scss', 'src/scss/*.scss'], ['sass']);
    gulp.watch("src/*.html").on('change', browserSync.reload);
});

gulp.task('default', ['js','serve']);

🤔 А знаете ли вы, что...
JavaScript можно использовать для создания анимаций и игр на веб-страницах.


615
1

Ответ:

Поздний ответ, но, возможно, это все еще помогает. В руководстве используется gulp v.3, и вы установили v.4. В новой версии необходимо указать функцию Task. Короткий ответ - изменить такие задачи, как:

gulp.task('serve', ['js','serve'], function() {...});

к

gulp.task('start', gulp.parallel(['js','serve'], function () {...}));

Для длинного ответа необходимо прочитать эту страницу https://fettblog.eu/gulp-4-parallel-and-series/