Javascript 仅针对gulp中文件夹的内容

Javascript 仅针对gulp中文件夹的内容,javascript,gulp,Javascript,Gulp,我正在使用Gulp编译一个项目。我还用它来压缩一堆文件 我想压缩“dist”文件夹中的所有文件,因此我使用以下方法: var thesrc: ['dist/**/*']; gulp.task('createMainZip', ['createPluginZip'], function () { return gulp.src(thesrc) .pipe(zip('main_files.zip')) .pipe(gulp.dest('compiled')); }); 这将

我正在使用Gulp编译一个项目。我还用它来压缩一堆文件

我想压缩“dist”文件夹中的所有文件,因此我使用以下方法:

var thesrc: ['dist/**/*'];
gulp.task('createMainZip', ['createPluginZip'], function () {
    return gulp.src(thesrc)
    .pipe(zip('main_files.zip'))
    .pipe(gulp.dest('compiled'));
});
这将按照以下方式将文件编译为zip文件:

  • 距离
    • file.css
    • 另一个.js
    • 文件夹
      • file.js
但是,我希望它是这样的:

  • file.css
  • 另一个.js
  • 文件夹
    • file.js
没有dist文件夹。有没有一种方法可以使用不同的src路径来实现这一点

谢谢您的帮助。

好的,请尝试:

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

大口拉链不符合
base
。有关背景信息,请参见:

现在,你可以做类似的事情(诚然是丑陋的):

对我来说,以下几点确实有效:

//从src和doc dirs获取所有内容
返回gulp.src(['src/***','doc/***'],{base:uu dirname})
.pipe(zip('dist.zip'))
.pipe(大口目的地('dist'));

谢谢你,本。不幸的是,这似乎不起作用。它仍然可以打开“dist”文件夹。虽然很难看,但它可以工作!希望gulp zip将来会更新以尊重base。如果执行文件不在项目的根目录中,如何使其工作?这可能是因为
\uu dirname
是当前文件的目录,与
src
目录处于同一级别?当我使用除
\uu dirname
以外的其他东西时,这对我不起作用。
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'));
});