【问题标题】:Move files from differend folders to ONE folder. Without subfolders. Gulp将文件从不同文件夹移动到一个文件夹。没有子文件夹。吞咽
【发布时间】:2016-01-25 01:22:39
【问题描述】:

我需要一些帮助。

如何将文件从不同文件夹移动到一个文件夹,而 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

【问题讨论】:

    标签: javascript gulp glob


    【解决方案1】:

    尝试使用 gulp-flatten

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        改用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的信息。

        【讨论】:

        猜你喜欢
        • 2022-10-25
        • 2022-08-21
        • 2013-12-21
        • 2021-08-02
        • 2020-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多