2015-05-14 3 views
0

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

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

Например, задача выборки:

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; 

против

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

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

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

ответ

0

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

./gulp/task/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);