Добрый день, имею следующий gulpfile.js:
var gulp = require('gulp'),
sass = require('gulp-sass'),
concatcss = require('gulp-concat'),
clean = require('gulp-clean'),
plumber = require('gulp-plumber');
// Собирает все scss файлы в директории blocks и склеивает их в один
gulp.task('blocks', function() {
return gulp.src('app/scss/blocks/**/*.scss')
.pipe(plumber())
.pipe(concatcss("_blocks.scss"))
.pipe(gulp.dest('app/scss/build/'));
});
// Запускает генерацию финального css файла из имеющихся scss
gulp.task('sass', function() {
return gulp.src('app/scss/main.scss')
.pipe(plumber())
.pipe(sass())
.pipe(gulp.dest('app/css'))
});
// Очищает результирующий файл сборки для последующей записи в него
gulp.task('clean', function () {
return gulp.src('app/scss/build/_blocks.scss', {read: false})
.pipe(clean());
});
gulp.task('watch', function() {
gulp.watch(['app/scss/**/*.scss'], ['clean']);
gulp.watch(['app/scss/blocks/**/*.scss'], ['blocks']);
gulp.watch(['app/scss/**/*.scss'], ['sass']);
});
Содержимое app/scss/main.scss:
@import 'vendors/normalize';
@import 'utils/variables';
@import 'base/fonts';
@import 'utils/placeholders';
@import 'build/blocks';
@import 'base/media';
При сохранении файла в директории app/blocks получаю следующую ошибку:
Error in plugin 'gulp-sass'
Message:
app\scss\main.scss
Error: File to import not found or unreadable: build/blocks.
Parent style sheet: C:/Users/kalashnikov/Desktop/layout/relaxlux/app/scss/main.scss
on line 5 of app/scss/main.scss
Как я понимаю, консоль мне говорит, что не может прочесть файл blocks.scss, потому что наверняка пытается прочесть его в тот момент, когда его удалил таск
clean, а таск
blocks ещё не успел отработать
Так ли это и если да, то как мне запустить таск
sass только после того, как отработают другие таски?