Я не мог заставить это работать с нативным gulp, поэтому я решил попробовать пакет узла glob , и эта опция лучше всего подходит для варианта использования.
Сначала вам нужно будет установить его следующим образом:
npm install glob --save-dev
Затем сослаться на него в gulp gile:
var gp_glob = require('glob');
И, наконец, использовать его как глобальный фильтр:
var input_list_arr = gp_glob.sync(path_in_str+'**', {ignore: [path_in_str+'node_modules/**', path_in_str+'*.json'], dot: true});
return gulp.src(input_list_arr, {base: path_in_str})
.pipe(gulp.dest(path_out_str));
Обратите внимание, что мы используем опцию ignore
вместо записи !
для фильтрации путей к файлам / каталогам.Также обратите внимание, что опция base
указывается при передаче отфильтрованного списка в gulp.src
.
Это сработало для меня, как задумано.Надеюсь, это поможет.