gulp, построить несколько проектов

У меня есть процесс сборки Gulp, который выполняет примерно 10 задач, включая браузер и просмотр. В настоящее время он собирает common-bundle.js и common-libs.js. Он использует синхронизацию браузера, чтобы дать мне перестроение менее чем за секунду.

Теперь я хочу также построить проект, который зависит от общего проекта. Я хочу сохранить живые перестройки как обычного, так и этого проекта, чтобы я мог работать над ними обоими одновременно. Я хочу, чтобы сам процесс сборки был как можно более СУХИМ, и повторно использовал задачи, которые я создал, для создания общего.

Например, типовая задача:

var config = require('../config');
gulp.task('styles', function () {
  return gulp.src(config.styles.src) // if i could tell it to get config elsewhere...
  ...

Я не могу передать параметр в каждую задачу, чтобы сообщить об этом, запустите задачу, но используйте:

var config = require('../config').common;

vs.

var config = require('../config').projectA;

Я не думаю, что задачи могут принимать параметры.

Есть ли другой способ структурировать это? Ссылка git/gist будет высоко оценена.


person Elijah    schedule 14.05.2015    source источник


Ответы (1)


На данный момент я пробую этот подход - в каждом js-файле задачи определены 2 задачи, но, по крайней мере, логика задачи используется повторно. Я все еще хочу чего-то более чистого.

./глоток/задача/style.js:

function styles(config){
   return gulp.src(config.styles.src)
      ...
   }
}
gulp.task('styles', function () {
   styles(config.common);
});
gulp.task('stylesProject1', function () {
   styles(config.project1);
});

devTask.js:

runSequence(['styles', 'stylesProject1], 'watch', callback);
person Elijah    schedule 14.05.2015