web-dev-qa-db-ja.com

GulpZipを使用してフォルダー内のすべてのファイルを圧縮する

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が配布フォルダー内に作成され、ZipにはFIFAフォルダー内のファイルのみが含まれているにもかかわらず、FIFAのサブフォルダー内のすべてのファイルがそこにないことです。したがって、たとえば、FIFAにronaldoというサブフォルダーがあり、ronaldoにgoal.jsが含まれている場合、goal.jsはZipに含まれていません。私は何を間違えましたか?アドバイスをお願いします。

14
user5049061

2つの*で試してみてください

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

***の違いは何ですか?

1つの星はすべてのファイルを意味し、フォルダはありません。星もより深くなり、指定したフォルダ内のすべてのフォルダも含まれます。

たとえば、1つの特定のフォルダーを除くすべてのフォルダーを含めるために2つの星を付けたい場合、それも可能ですか?

!./excludedDirのような感嘆符を使用し、!...を値の1つとして配列としてsrcを渡すことができます。

27
baao