Gulp Babel завершается, но код не обновляется

Как только я нажал "Сохранить", gulp babel завершает задачи с сообщением, напечатанным в терминале. Но код не обновляется в браузере. У меня есть локальный Nginx, обслуживающий мои глотанные файлы. Я должен перезагрузить несколько раз, чтобы получить обновленный код.

Мой файл глотка:

gulp.task('js', function () {
    gulp.src([
        'src/app.js',
        'src/app.controller.js',
        'src/**/*.js',
        'libs/*.js'
    ])
        .pipe(sourcemaps.init())
        .pipe(babel())
        .pipe(concat()('app.js'))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('dist'));
});

//other tasks here (css, assets etc)
...

gulp.task('watch', function () {
    gulp.watch('src/**/*.js', ['js']);
    gulp.watch([
        'src/**/*.html',
        'src/images/**/*',
        'src/fonts/**/*',
        'src/**/*.json'], ['assets']);
    gulp.watch('src/**/*.scss', ['sass']);
});
gulp.task('default', ['js', 'sass', 'assets', 'watch']);

Gulp по умолчанию это то, что я бегу.

Однако без gulp-babel (для ES5) работает нормально. Я должен перезагрузить только один раз в браузере, чтобы получить обновленный код. Я попробовал обновить систему, даже включил опцию "отключить кеш, когда devtools открыт" в Chrome, но не повезло.

Что может быть причиной этого?

1 ответ

Решение

Вам нужно добавить return до gulp.src так что Gulp может знать, когда задача будет выполнена

gulp.task('js', function () {
    return gulp.src([
        'src/app.js',
        'src/app.controller.js',
        'src/**/*.js',
        'libs/*.js'
    ])
        .pipe(sourcemaps.init())
        .pipe(babel())
        .pipe(concat()('app.js'))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('dist'));
});
Другие вопросы по тегам