CheckOneTwo
@CheckOneTwo
Парень, который думает что он фронтэндер.

Как разделить поток на несколько файлов в Gulp.js?

Всем привет, у меня есть один таск в gulpfile.js:

var global_css = [
        './source/sass/global/*.scss',
        './source/sass/features/*.scss',
        './source/sass/pages/*.scss',
        './source/sass/layout/*.scss'
    ];

gulp.task('sass-global', function () {

            return gulp.src(global_css)
                .pipe(plugins.plumber({errorHandler: plugins.notify.onError("<%= error.message %>")}))
                .pipe(plugins.sourcemaps.init())
                .pipe(plugins.sass())
                .pipe(plugins.autoprefixer({
                    browsers: prefix_list,
                    cascade: false
                }))
                .pipe(plugins.csscomb('./dev/libs/comb/research.json'))
                .pipe(plugins.sourcemaps.write('./'))
                .pipe(gulp.dest('./public/css'));
        });


Можно ли сделать так чтобы в одном таком таске, каждая указанная папка в global_css конкатинировалась в отдельный файл и потом уже по этому файлу проходились CSScomb Прехифаер и Сурсмап?
  • Вопрос задан
  • 1067 просмотров
Решения вопроса 1
voidnugget
@voidnugget
Программист-прагматик
var merge = require('merge-stream');
gulp.task('sass-global', function () {
  var merged = merge();
  global_css.forEach((entry) => {
    merged.add(gulp.src(entry)
      .pipe(plugins.plumber({errorHandler: plugins.notify.onError("<%= error.message %>")}))
      .pipe(plugins.sourcemaps.init())
      .pipe(plugins.sass())
      .pipe(plugins.autoprefixer({
        browsers: prefix_list,
        cascade: false
      }))
      .pipe(plugins.csscomb('./dev/libs/comb/research.json'))
      .pipe(plugins.sourcemaps.write('./'))
      .pipe(gulp.dest('./public/css')));
  });

  return merged;
});


Типа так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект