@denis2601

Найти имя файла в потоке gulp?

Есть такой вот таск
/* Paths */
  var src = {
      modules: 'src/modules',
      css: {
        skin: 'src/assets/styles/skins/',
        assets: 'src/assets/styles/'
      }
    },
    dist = {
      css: '../novi/projects/template/css/'
    };
  /* End Paths */

    var assets = skins.map(function (skin) {
      return gulp.src(src.css.assets + '[^_]*.scss')
        .pipe(plugins.addSrc.prepend('src/assets/styles/skins/' + skin + '.scss'))
        .pipe(plugins.concat(FileName + '.scss'))
        .pipe(plugins.sass())
        .pipe(gulp.dest(dist.css + skin + '/assets'));
    });

Суть вопроса такова, нужно узнать имя обрабатываемого файла в потоке (FileName), что бы вписать его в .pipe(plugins.concat(FileName + '.scss'))
без concat плагин gulp-add-src (addSrc) отказывается работать
  • Вопрос задан
  • 709 просмотров
Решения вопроса 1
Anubis
@Anubis
Люблю корейскую кухню и веб-разработку
1) npm i --save-dev gulp-tap

2) const tap = require('gulp-tap');

3)
gulp
    .src(...)
    .pipe(tap(file => {
        const path = file.path;
        const data = file.contents.toString();
    }));


Где path - путь до файла относительно корневой папки проекта, data - строковое содержимое файла
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@lemix85
Я конечно могу ошибаться, но по-моему плагин concat требует имя итогового сохраняемого файла в котором будут объедены обрабатываемые файлы, а не имя текущего файла для объединения. Т.е. ответ - вы можете вписать туда любое удобное для вас имя, пробовали?
Ответ написан
Ваш ответ на вопрос

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

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