Gulp.src不考虑基目录

Ond*_*era 4 build build-tools node.js gulp

我有以下项目结构:

- _build/
- build-tools/
  - gulpfile.js
- someFolder/
- excludeFolder/
- index.html
Run Code Online (Sandbox Code Playgroud)

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

我正在使用这个gulp任务:

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

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

Rig*_*tti 7

据我了解你所看到的行为cwd,不是base

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

base是一个棘手的属性,其目的是说要在哪里开始复制基于文件的文件cwd,但这并不意味着你可以省略父文件夹..调用gulp.src(特别是你的情况).