Обновление в реальном времени не работает после обновления до Gulp 4 - PullRequest
0 голосов
/ 26 декабря 2018

Мой gulpfile.js выглядит так, как показано ниже:

var gulp = require('gulp');
var pug = require('gulp-pug');
var sass = require('gulp-sass');
var minifyCSS = require('gulp-csso');
var concat = require('gulp-concat');
var sourcemaps = require('gulp-sourcemaps');
var connect = require('gulp-connect');

gulp.task('connect', function () {
    connect.server({
        root: 'build',
        livereload: true,
        port: 3000
    });
});

gulp.task('html', function () {
    return gulp.src('client/html/**/*.pug')
        .pipe(pug({
            pretty: true
        }))
        .pipe(gulp.dest('build'))
        .pipe(connect.reload())
});

gulp.task('css', function () {
    return gulp.src(['node_modules/bootstrap/scss/bootstrap.scss', 'client/scss/*.scss'])
        .pipe(sass({ outputStyle: 'compressed' }))
        .pipe(gulp.dest('build/css'))
        .pipe(connect.reload())
});

gulp.task('images', function () {
    return gulp.src(['client/assets/**/*.*'])
        .pipe(gulp.dest('build/assets'))
        .pipe(connect.reload())
});

gulp.task('js', function () {
    return gulp.src('client/javascript/*.js')
        .pipe(sourcemaps.init())
        .pipe(concat('app.min.js'))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('build/js'))
        .pipe(connect.reload())
});

gulp.task('watch', gulp.parallel('html', 'css', 'js'));

gulp.task('default', gulp.series('connect', 'watch', 'html', 'css', 'images', 'js'));

Когда я запускаю этот код, я не получаю никакой ошибки на консоли, но также не происходит автоматическая перезагрузка браузера.Я сделал это правильно с предыдущими версиями Gulp, но не смог как-то запустить его с Gulp 4.Теперь, когда я останавливаю сервер, я получаю ошибку ниже,

[18:44:35] The following tasks did not complete: default, connect
[18:44:35] Did you forget to signal async completion?

Любая помощь будет оценена.Спасибо

1 Ответ

0 голосов
/ 05 марта 2019

Попробуйте изменить функцию соединения, чтобы явно вызывать done ();Я думаю, это понадобится вам при вызове series () в Gulp 4

gulp.task('connect', function (done) {
    connect.server({
        root: 'build',
        livereload: true,
        port: 3000
    });

    done();
});
...