gulp中仅定位文件夹的内容

时间:2014-03-24 10:04:28

标签: javascript gulp

我正在使用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:

  • DIST
    • file.css
    • another.js
      • file.js

但是,我想这样:

  • file.css
  • another.js
    • file.js

没有dist文件夹。有没有办法使用不同的src路径?

感谢您的帮助。

3 个答案:

答案 0 :(得分: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'));
});

答案 1 :(得分:0)

好的,试试:

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

答案 2 :(得分:0)

对我来说, 后工作:

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