#gulp
#gulp
Вопрос:
Я пытаюсь скопировать все файлы, КРОМЕ файлов js, которых нет в каталоге 3rd
.
Это то, что я делал:
return gulp.src([
'src/**/*',
'!src/**/*.js', // no js files from src
'src/**/3rd/*.js' // make sure to get 3rd party js files though
])
.pipe(gulp.dest('dist'));
Однако это не привело бы к копированию КАКИХ-либо js-файлов: (
Ответ №1:
В gulp 3.x глобусы, переданные в gulp.src()
, не оцениваются по порядку. Это означает, что невозможно исключить набор файлов, а затем повторно включить подмножество исключенных файлов.
Это станет возможным с предстоящим выпуском gulp 4.0:
глобусы, переданные в gulp.src, будут оцениваться по порядку, что означает, что это возможно
gulp.src(['*.js', '!b*.js', 'bad.js']
) (исключите каждый файл JS, который начинается сb
exceptbad.js
)
Для gulp 3.x есть gulp-src-ordered-globs
пакет, который можно использовать вместо обычного gulp.src()
:
var gulpSrc = require('gulp-src-ordered-globs');
return gulpSrc([
'src/**/*',
'!src/**/*.js', // no js files from src
'src/**/3rd/*.js' // make sure to get 3rd party js files though
])
.pipe(gulp.dest('dist'));
Комментарии:
1. Спасибо Sven за это!