webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...

В чем ошибка таска галпа?

Приветствую, господа.

Есть таск:
// compile sass and css files
gulp.task('sass', function(){
    return gulp.src([
        '!assets/styles/_*.scss',
        'assets/styles/all.scss',
        'assets/styles/**/*.scss'
    ])
    .pipe(sourcemaps.init())
    .pipe(plumber())
	.pipe(sass().on('error', sass.logError))
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest(path.join(content_path, 'css/')));
});


собственно, его задача:
1. игнорируя файлы вида _*.scss (например, _reset.scss)
2. собрать файл all.scss, в котором import'ом подключены другие файлы

@import "_fonts";
@import "_color";
@import "_base";
@import "_wrapper";


3. и потом добавить все остальные файлы, которые могут быть в папках или без таковых.

Чтобы при сборке css файла порядок подключения был именно такой.
Сначала необходимые "системные" файлы, а потом стили оформления.

Но меня gulp не понимает :(
  • Вопрос задан
  • 263 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Froggyweb
А что не так происходит?
порядка компиляции в задачах нет. он будет брать из массива файлы и их обрабатывать
вместо
!assets/styles/_*.scss', и 'assets/styles/**/*.scss'

можно написатьfront/styl/**/!(_)*.styl

all.scss можно тоже исключить чем он не подходит под маску последнего assets/styles/**/*.scss
Ответ написан
edalis
@edalis
HTML, CSS, JS, Node.js
Зачем такие сложности в таске?
Вот это:
'!assets/styles/_*.scss',
'assets/styles/all.scss',

не нужно, Gulp и так не будет копилить файлы, начинающиеся с подчеркивания, а all.scss входит в путь assets/styles/**/*.scss

Вот здесь:
@import "_fonts";
@import "_color";
@import "_base";
@import "_wrapper";

подчеркивания не нужны, просто:
@import "fonts";
@import "color";
@import "base";
@import "wrapper";

Gulp поймет )
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы