将文件从不同的文件夹移动到一个文件夹。没有子文件夹。 Gulp

Move files from differend folders to ONE folder. Without subfolders. Gulp

我需要一些帮助。

如何将文件从不同的文件夹移动到一个文件夹,而没有 Gulp 中的子文件夹?

例如我的项目结构:

build/
   js/
source/
   /modules
      /list
         - list.js
      /editor
         - editor.js
      /menu
         - menu.js

我需要将所有 js 文件从源移动到 build/js:

build/
   /js
      - list.js
      - editor.js
      - menu.js

我有代码:

gulp.task('build-partials', function(){
    gulp.src('source/modules/*/*.js', {base: 'source/modules/'})
        .pipe(gulp.dest('build/js/'))
});

但是在 build/js/ 我看到了这个:

build/
   /js
      /list
         - list.js
      /editor
         - editor.js
      /menu
         - menu.js

试试 gulp-concat。您的代码将如下所示:

var concat = require('gulp-concat');

gulp.task('scripts', function() {
  // List all source files in array
  return gulp.src(['source/modules/*/*.js'])
    .pipe(concat('all.js'))
    .pipe(gulp.dest('build/js/'));
});

NPM module page 阅读更多内容。

尝试使用 gulp-flatten

var flatten = require('gulp-flatten');

gulp.task('scripts', function () {
  gulp.src(['source/modules/**/*'])
    .pipe(flatten())
    .pipe(gulp.dest('build/js/'));
});

您可以使用 gulp-nosubfolders: https://www.npmjs.com/package/gulp-nosubfolders

var nosubfolders = require('gulp-nosubfolders');

gulp.task('default', function() {
  return gulp
           .src('./js/**')
           .pipe(nosubfolders())
           .pipe(gulp.dest('./my/dest/path'));
});