2017-04-19 10 views
2

/distフォルダ内のすべてのファイルとフォルダのzipを作成したいとします。フォルダ内のいくつかのファイルが見つかりません。

私のようなフォルダ構造があります。

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

を私は基本的に私の全体の/ distのフォルダとサブフォルダを圧縮して内部のzipファイルを保存するために一気-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

ガルプので代わりに

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'); 
}); 
に従うよう、ビルドタスクに依存し、デフォルトのタスクはジップタスクを実行させるジップタスクを作成し、依存タスクとしてジッパーを使用するのではなく、可能な限り、非同期方式で依存関係のタスクを実行します
+0

私は同じアプローチを使用していますが、すべての実行ではありませんが、まだファイルがありません。 –

+0

@KeesdeBruin:私はこの問題を解決するためにいくつかの問題を解決しました。 setTimeout関数で** gulp.start( 'zip'); **タスクを追加しました。 setTimeout(function(){ gulp.start( 'zip'); }、3000); –

+0

少し遅れましたが、私はいくつかのタスクを並べ替えて分割することができましたが、今は 'gulp.start'を使用せずに動作するはずです –

関連する問題