Gulp zip缺少文件夹中的一些文件

时间:2017-04-19 08:08:44

标签: gulp gulp-zip

我想在/ dist文件夹中创建所有文件和文件夹的zip。

我的文件夹结构如下:

/dist 
    /audio/
    /css/
    /icons/
    /js/
    /libs/
    /locales/en-US
    /locales/mr
    /locales/hi
    /locales/te
    /locales/fr

我基本上想用 gulp-zip 压缩我的整个/ dist文件夹和子文件夹,并将zip保存在其中。所以这就是我在做的事情:

var bases = {
    app: 'app/',
    dist: 'dist/',
};    
gulp.task('zip', function () {
        return gulp.src(bases.dist + '**')
            .pipe(using())
            .pipe(zip('buildTest.zip'))
            .pipe(gulp.dest('./' + bases.dist));
    });

有了这个我能够创建buildTest.zip,但它不包括/locales.Please建议中的所有子文件夹。

1 个答案:

答案 0 :(得分:2)

Gulp尽可能以异步方式运行依赖任务,因此不使用zip作为依赖任务,而是让zip任务依赖于构建任务,让默认任务运行zip任务,如下所示

const gulp = require('gulp');
const zip = require('gulp-zip');

gulp.task('build', ['copyAssets', 'minify-js', 'minify-css']);

gulp.task('zip', ['build'], function() {
    gulp.src('dist/**')
        .pipe(zip('archive.zip'))
        .pipe(gulp.dest('./'))
});

gulp.task('default', ['clean'], function () {
  gulp.start('zip');
});