Gulp.src 不考虑基本目录

Gulp.src does not consider base directory

我的项目结构如下:

- _build/
- build-tools/
  - gulpfile.js
- someFolder/
- excludeFolder/
- index.html

我想将除 _build 和 'excludeFolder' 目录之外的所有文件复制到 _build/release 目录。

我正在使用这个 gulp 任务:

gulp.src(['*',
          '!_build/**/*',
          '!build-tools/**/*',
          '!excludeFolder/**/*'],{base:'..'})
        .pipe(gulp.dest('_build/release'));

如何命令 Gulp 从上层根目录或 gulfile.js 所在的任何其他目录开始相对路径?

据我了解,您看到的行为是 cwd,而不是 base

    gulp.src([
      '**',
      '!_build',
      '!_build/**',
      '!build-tools',
      '!build-tools/**',
      '!excludeFolder',
      '!excludeFolder/**'
    ],{ cwd:'..' })
    .pipe(gulp.dest('_build/release'), { cwd: '..' });

base是一个tricky 属性,它的目的是告诉gulp从哪里开始复制基于cwd的文件,但这并不意味着您可以省略父文件夹 ..gulp.src 的调用(具体针对您的情况)。