2016-01-07 3 views
1

Позволяет сказать, что у меня есть 20 задач, которые захватывают разные типы файлов и выполняют разные вещи.Как я могу фильтровать суффикс/расширение для всех задач gulp?

Давайте также скажем, что у меня есть две среды, разработка и производство.

В принципе, я хочу, чтобы иметь структуру каталогов, которая идет что-то вроде этого:

/app 
    /product 
     product.main.ctrl.js 
     product.add.development.ctrl.js 

При работе в стандартном режиме разработки, я хочу, чтобы приложение, чтобы собрать довольно много все JavaScript, как это обычно делает.

Но если я запускаю gulp в режиме производства, я хочу исключить ВСЕ файлы, в которых есть слово development.

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

// default task, I'd like to automatically extend this and exclude depending on evn. 
gulp.task('scripts:main', function() { 
    return gulp.src('/app/**/*.js', streamFunction); 
}); 
// a working example of what I'd like to do 
gulp.task('scripts:main', function() { 
    return gulp.src(['/app/**/*.js', '!/app/**/*.development.js'], streamFunction); 
}); 

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

Возможно ли это?

ответ

0

обычно вы должны использовать настройки конфигурации, которые будут использоваться во всех ваших задачах

var config = { 
    jsProd : ['/app/**/*.js', '!/app/**/*.development.js'], 
    jsDev : ['/app/**/*.js'] 
} 

это делает дорожки Что больше многоразовым ...

и в ваших задачах, просто использовать переменные конфигурации

gulp.task('scripts:main', function() { 
    return gulp.src(config.jsProd, streamFunction); 
}); 

это руководство по стилю john papa

Смежные вопросы