Итак, решение обеспечения базы работает, учитывая, что все пути имеют один и тот же базовый путь. Но если вы хотите указать разные базовые пути, это все равно не сработает.
Одним из способов решения этой проблемы было создание относительного начала пути. Для вашего случая:
gulp.src([
'index.php',
'*css/**/*',
'*js/**/*',
'*src/**/*',
])
.pipe(gulp.dest('/var/www/'));
Причина, по которой это работает, заключается в том, что Gulp устанавливает основание как конец первого явного чанка - ведущий * заставляет его устанавливать основание на cwd (что является результатом, которого мы все хотим!)
Это работает, только если вы можете убедиться, что в структуре вашей папки не будет определенных путей, которые могут совпадать дважды. Например, если бы вы были randomjs/
на том же уровне, что js
и вы, в конечном итоге вы сопоставите оба.
Это единственный способ, который я нашел, чтобы включить их как часть функции gulp.src верхнего уровня. Вероятно, было бы просто создать плагин / функцию, которая могла бы отделить каждый из этих глобусов, чтобы вы могли указать для них базовый каталог.