将文件从differend文件夹移动到ONE文件夹。没有子文件夹。吞

时间:2015-10-26 01:58:40

标签: javascript gulp glob

我需要一些帮助。

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

例如我的项目结构:

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

我需要将所有js文件从source移动到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 / i中看到了这个:

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

3 个答案:

答案 0 :(得分:2)

尝试使用gulp-flatten

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

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

答案 1 :(得分:0)

您可以使用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'));
});

答案 2 :(得分:-1)

请尝试使用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