kuchuluk
@kuchuluk

Почему перестал запускаться browsersync после того как добавил gulp-less?

Здравствуйте. Делал проект сначала без less, просто на css, все работало. Таким образом:
var gulp = require('gulp'),
	concatCSS = require('gulp-concat-css'),
	bs = require('browser-sync').create(),

gulp.task('default', function(){
	return gulp.src('src/*.html')
	  .pipe(gulp.dest('dist/html'));
});

gulp.task('server', function(){
	bs.init({
        server: {
            baseDir: "src/"
        }
    });
    gulp.watch("src/*.html").on('change', bs.reload);
});

Всё работало, browsersync запускался и обновлял страницу.
Но стоило добавить gulp-less, и всё поломалось
gulp.task('less', function() {
    return gulp.src("src/less/*.less")
    .pipe(less())
    .pipe(gulp.dest("srs/css"))
    .pipe(bs.stream());
});
 
gulp.task('server', 'less', function(){
    bs.init({
        server: {
            baseDir: "src/"
        }
    });
    gulp.watch("src/less/*.less", ['less']);
    gulp.watch("src/*.html").on('change', bs.reload);
});


less тоже пытаюсь через browsersync прогонять, чтобы компилировался и сразу отслеживать изменения. Но выдает ошибку
assert.js:351
throw err;
^

AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (C:\Users\Руслан\Documents\work\development\page-p
roofs\forless\node_modules\undertaker\lib\set-task.js:10:3)
at Gulp.task (C:\Users\Руслан\Documents\work\development\page-proofs\forless
\node_modules\undertaker\lib\task.js:13:8)
at Object. (C:\Users\Руслан\Documents\work\development\page-proof
s\forless\gulpfile.js:25:6)
at Module._compile (internal/modules/cjs/loader.js:721:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (internal/modules/cjs/helpers.js:22:18)
  • Вопрос задан
  • 220 просмотров
Пригласить эксперта
Ответы на вопрос 1
andreydobrin
@andreydobrin
Сложно , но это пока
Можете таск server засунуть, наоборот, в watcher:
Для простоты, создайте переменную с настройками сервера:
var config = {
server: {
        baseDir: "src/"
    }
}

Watcher будет выглядеть так:
gulp.task('watch', function(){
  browserSync.init(config);
  gulp.watch("src/less/*.less", gulp.series("less")); 
--> x
})


Где Я поставил крестик, можно пихать еще файлы для просмотра вместе с методом gulp.series или gulp.parallel. Их разница в порядке выполнения тасков. Я рекомендую использовать gulp.series для подобных тасков.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект