3

Gulp を使用してプロジェクトをコンパイルしています。また、gulp-zipを使用して多数のファイルを圧縮しています。

「dist」フォルダー内のすべてのファイルを圧縮したいので、これを使用しています:

var thesrc: ['dist/**/*'];
gulp.task('createMainZip', ['createPluginZip'], function () {
    return gulp.src(thesrc)
    .pipe(zip('main_files.zip'))
    .pipe(gulp.dest('compiled'));
});

これにより、次の方法でファイルが zip にコンパイルされます。

  • 距離
    • ファイル.css
    • another.js
    • フォルダ
      • file.js

ただし、次のようにします。

  • ファイル.css
  • another.js
  • フォルダ
    • file.js

distフォルダーなし。別の src パスを使用してこれを行う方法はありますか?

ご協力いただきありがとうございます。

4

3 に答える 3

5

gulp-zip は尊重しませんbase。背景については、次を参照してください。

今、あなたはそのようなことをすることができます(確かに醜いです):

var gulp = require('gulp');
var zip = require('gulp-zip');
var thesrc = ['**/*'];
gulp.task('createMainZip', function () {
  return gulp.src(thesrc, {cwd: __dirname + "/dist"})
  .pipe(zip('main_files.zip'))
  .pipe(gulp.dest('compiled'));
});
于 2014-03-24T10:57:08.330 に答える
0

わかりました、試してください:

return gulp.src(thesrc, {base: 'dist'})
于 2014-03-24T10:20:23.640 に答える
0

私にとっては、次のことがうまくいきました:

// Taking everything from src and doc dirs
return gulp.src(['src/**/*', 'doc/**/*'], { base: __dirname })
  .pipe(zip('dist.zip'))
  .pipe(gulp.dest('dist'));
于 2014-05-06T18:46:16.797 に答える