Использование Gulp Zip для архивирования всех файлов в папке

Я использую gulp-zip для архивирования моих исходных файлов. Итак, у меня есть основная папка с именем FIFA, в которой есть другие подпапки, в которых может быть больше подпапок и файлов. Кроме того, в папке FIFA также есть такие файлы, как мой package.json, gulp.js и некоторые другие файлы. Я хочу в основном использовать gulp-zip, чтобы сжать весь мой проект, создать папку с именем distribution и сохранить zip внутри него. Так что это код, который я использовал.

gulp.task('zip', function () {
    return gulp.src('./*,')
        .pipe(zip('test.zip'))
        .pipe(gulp.dest('./distribution'));
});

Проблема заключается в том, что, хотя zip-файл создается внутри папки распространения, которая содержит только файлы в папке FIFA, все файлы внутри подпапок FIFA отсутствуют. Так, например, если в FIFA есть подпапка с именем ronaldo, а ronaldo содержит goal.js, то goal.js отсутствует в zip. Что я сделал не так? Пожалуйста посоветуй.

1 ответ

Решение

Попробуйте это с двумя *

gulp.task('zip', function () {
    return gulp.src('./**')
        .pipe(zip('test.zip'))
        .pipe(gulp.dest('./distribution'));
});

В чем разница между * а также **?

Одна звездочка означает все файлы, без папок - слишком звездочки будут более глубокими и также будут включать все папки внутри указанной папки.

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

Вы можете использовать восклицательный знак, как !./excludedDir, проходить src как массив с !... как одно из значений

Другие вопросы по тегам