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'));
});