Cibler uniquement le contenu d'un dossier sous vide

J'utilise Gulp pour compiler un projet. J'utilise également gulp-zip pour créer un fichier de fichiers.

Je veux envoyer tous les fichiers dans le dossier "dist", alors je l'utilise:

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

Cela compile les fichiers dans un zip de la manière suivante:

  • Dist
    • File.css
    • Another.js
    • dossier
      • File.js

Cependant, je le veux comme ceci:

  • File.css
  • Another.js
  • dossier
    • File.js

Sans le dossier dist. Existe-t-il un moyen de le faire en utilisant un chemin de src différent?

Merci de votre aide.

Gulp-zip n'apprécie pas la base . Voir pour un peu de fond:

Maintenant, vous pouvez faire quelque chose comme ça (certes moche):

 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')); }); 

OK Essayez:

 return gulp.src(thesrc, {base: 'dist'}) 

Pour moi, le suivi a fonctionné:

 // Taking everything from src and doc dirs return gulp.src(['src/**/*', 'doc/**/*'], { base: __dirname }) .pipe(zip('dist.zip')) .pipe(gulp.dest('dist'));