【问题标题】:Using Gulp Zip to zip all the files in a folder使用 Gulp Zip 压缩文件夹中的所有文件
【发布时间】:2017-03-16 21:28:30
【问题描述】:

我正在使用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 中。我做错了什么?请指教。

【问题讨论】:

    标签: javascript angularjs npm gulp gulp-zip


    【解决方案1】:

    用两个*试试吧

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

    *** 有什么区别?

    一颗星表示所有文件,没有文件夹 - 太星会更深,还包括指定文件夹内的所有文件夹。

    例如,如果您想要做两颗星以包括除一个特定文件夹之外的所有文件夹,是否也可以这样做?

    您可以使用!./excludedDir 之类的感叹号,将src 作为数组传递,!... 作为值之一

    【讨论】:

    • 这将压缩给定文件夹中的所有内容,因此可能需要一些时间。如果压缩太多,您可能需要更具体地使用您的文件夹。 @Dinero
    • 工作就像一个魅力,我可以在 7 分钟内接受你的回答,你能解释一下为什么 ** 会有所作为吗?还有参考吗?
    • 一颗星表示所有文件,没有文件夹 - 星星会更深,还包括指定文件夹内的所有文件夹。 @Dinero
    • 例如,如果您想要做两颗星以包括除一个特定文件夹之外的所有文件夹,是否也可以这样做?非常感谢您的解释。
    • 您可以使用感叹号如!./excludedDir,将src 作为数组传递,将!... 作为值之一@Dinero
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2015-04-05
    • 2015-09-29
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    相关资源
    最近更新 更多