Исключение файлов / каталогов из задачи Gulp



у меня есть задача gulp rjs, которая объединяет и уродует все мои обычаи .JS-файлы (любые библиотеки без поставщиков).



то, что я пытаюсь сделать, это исключить некоторые файлы/каталоги из этой задачи (контроллеры и директивы).



вот мое дерево:



 - application
- resources
- js
main.js
- vendor
- jquery
- modernzr
- angular
- controllers
- controller1
- controller2
- controller3
- directives
- directives1
- directives2
- directives3
- widgets
- widget1
- widget2
- widget3
- widget4
- modules
- modules1
- modules2
- modules3
- modules4


вот мой глоток.js



dir = {
app: 'application',
dest: 'dest',
};

config = {
src: {
js: dir.app + '/resources/js'
},
dest: {
js: dir.dest + '/resources/js'
}
};

gulp.task('rjs', function() {

rjs({
baseUrl: config.src.js,
out: 'main.js',
name: 'main',
mainConfigFile: config.src.js + '/main.js',
exclude: [ 'jquery', 'angular']
})
.pipe(prod ? uglify({ mangle: false, outSourceMap: true, compress: { drop_console: true } }) : gutil.noop())
.pipe(gulp.dest(config.dest.js))
.pipe(filesize())
.pipe(dev ? connect.reload() : gutil.noop());

});
701   1  

1 ответ:

быстрый ответ

в src вы всегда можете указать файлы для игнорирования с помощью "!".

пример (вы хотите исключить все *.минута.файлы js в вашей папке js и подпапке:

gulp.src(['js/**/*.js', '!js/**/*.min.js'])

вы можете сделать это также для отдельных файлов.

расширенный ответ:

извлечено из документации gulp:

залпом.src (globs[, options])

выдает файлы соответствие обеспечивается глобусом или массивом глобусов. Возвращает поток виниловых файлов,которые могут быть переданы в плагины.

glob относится к синтаксис node-glob или это может быть прямой путь к файлу.

Итак, хотите Node-glob documentation мы видим, что он использует библиотеку minimatch для ее сопоставления.

On документация minimatch, они указывают на следующее:

если шаблон начинается с собой ! характер, то он отрицается.

и поэтому использование ! символ будет исключать файлы / каталоги из задачи gulp

Comments

    Ничего не найдено.