Задать вопрос
Eridani
@Eridani
Мимо проходил

Gulp 4 и BrowserSync reload?

День добрый!
До 4го галпа, данный код работал, сейчас не было времени подробно вникнуть в вопрос, что там изменилось, единственное что понял - квадратные скобки поменялись на параметры функции.
НО...Меня напрягает, что в таске сасса перестал работать browserSync.reload, никакой перезагрузки после изменения сасс файла не происходит.
На тостере один коллега уже спрашивал про это, ему помогло создание отдельной функции reload, Как правильно в Gulp 4 настроить browserSync reload html, js?

Мне эта штука не помогла, либо я не понял, как ее в моем случае воткнуть.
Помогите совладать с этой бесовской штукой.

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

gulp.task('browser-sync', function() { 
    browserSync.init({
        server: {
            baseDir: './out' 
        },
        notify: false 
    });
	browserSync.watch('out/').on('change', browserSync.reload); 
});	

gulp.task('sass', function(){ 
    return gulp.src('app/scss/*.scss') 
	.pipe(plumber({
		errorHandler : function(err) {
			console.log(err);
			this.emit('end');
		}
	}))
		
	.pipe(sass({errLogToConsole: true}))
	.pipe(sass({outputStyle: 'compact'}))
	.pipe(autoprefixer({
		browsers: ['last 4 versions'],
		cascade: false
	}))
   .pipe(gulp.dest('out/assets/css')) 
   .pipe(browserSync.reload({stream: true})) 
});

gulp.task('watch', gulp.series('sass', 'browser-sync'), function() {
    gulp.watch('app/**/*.*', gulp.series('sass'));
});
  • Вопрос задан
  • 9521 просмотр
Подписаться 1 Средний 2 комментария
Решения вопроса 2
potapchino
@potapchino
var gulp       	 = require('gulp');
var sass       	 = require('gulp-sass');
var browserSync 	 = require('browser-sync').create();
var autoprefixer 	 = require('gulp-autoprefixer');
var plumber 		 = require('gulp-plumber');

gulp.task('browser-sync', function(done) { 
  browserSync.init({
    server: {
      baseDir: './out'
    },
    notify: false
  });
  
  browserSync.watch('out/').on('change', browserSync.reload);
  
  done()
});	

gulp.task('sass', function(done){
  gulp.src('app/scss/*.scss')
    .pipe(plumber({
      errorHandler : function(err) {
        console.log(err);
        this.emit('end');
      }
    }))
    .pipe(sass({errLogToConsole: true}))
    .pipe(sass({outputStyle: 'compact'}))
    .pipe(autoprefixer({
      browsers: ['last 4 versions'],
      cascade: false
    }))
   .pipe(gulp.dest('out/assets/css'))
   .pipe(browserSync.reload({stream: true}));
  
  done()
});

gulp.task('watch', gulp.series('sass', 'browser-sync', function(done) {
  gulp.watch('app/**/*.*', gulp.series('sass'));
  
  done()
}));
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега Gulp.js
frontend developer
Вы документацию-то гляньте. Там есть готовый пример
https://browsersync.io/docs/gulp#gulp-sass-css
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@paulinekorkina
Верстальщик
Самый простой рабочий пример для 4-го gulp'а: https://medium.com/swlh/setting-up-gulp-4-0-2-for-...
Пример значительно проще, чем Minimal BrowserSync setup with Gulp 4
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы