GULP - переменная входная папка - цикл / функция

Я использую Gulp для создания моих файлов.less, которые я использую в темах Drupal. Структура, которую я сейчас использую, выглядит следующим образом:

--basetheme/
 |--css/
 |--src/      
  --gulpfile.js
    |-- less/
--subtheme/
 |--css/
 |--src/
  --gulpfile.js
    |-- less/

Поскольку это заставляет меня запустить два src / gulp-watch, я пытаюсь изменить структуру.

--_SRC/
  --gulpfile.js
   |--_basetheme/
   |--_subtheme/
      |-- less/
--basetheme
   |--css
--subtheme
   |--css

Я бы использовал одну папку SRC и один gulpfile на каждый "проект".


Теперь я также хочу убедиться, что мой gulpfile максимально упорядочен, я хочу иметь возможность добавлять столько "подтем", сколько я хочу в будущем, и GULP должен направлять все файлы / папки в правильное место. Но я не знаю, как правильно написать этот кусочек кода, я не достаточно, чтобы написать все, что нужно сделать...

var themes = ['basetheme','subtheme', 'INFINITE NUMBER'];

function getTheme(themes) { 
    // dostuff
}

var paths = {
  input: './**/*',
  output: '../',
  styles: {
    getTheme(themes): {
      input: './_'. getTheme(themes) .'/less/template.less',
      output: '../'. getTheme(themes) .'/css/'
    }
  },
};


// Process and minify Less files
gulp.task('build:styles', function() {
  return gulp.src(paths.styles.'. getTheme(themes) .'.input)
      .pipe(plumber())
      // DO STUFF
      .pipe(gulp.dest(paths.styles.'. getTheme(themes) .'.output))
      .pipe(cssnano())
      .pipe(rename({ suffix: '.min' }))
      .pipe(gulp.dest(paths.styles.'. getTheme(themes) .'.output))
      .pipe(livereload());
});

0 ответов

Другие вопросы по тегам