Gulp-仅针对子文件夹中的文件

Gulp-仅针对子文件夹中的文件,gulp,gulp-watch,gulp-concat,Gulp,Gulp Watch,Gulp Concat,我有一个gulpfile,正在监视以下文件夹中的更改: SCSSSource = '../framework/**/*.scss'; 这将监视以下示例文件中的更改: '../framework/styleing.scss'//根文件夹 “../framework/subfolder1/style.scss” “../framework/subfolder2/style.scss” 我想从根文件夹(1.)中排除所有文件,只留下一个子文件夹进行监视。我应该如何修改SCSSSourceString来

我有一个gulpfile,正在监视以下文件夹中的更改:

SCSSSource = '../framework/**/*.scss';
这将监视以下示例文件中的更改:

  • '../framework/styleing.scss'
    //根文件夹
  • “../framework/subfolder1/style.scss”
  • “../framework/subfolder2/style.scss”
  • 我想从根文件夹(1.)中排除所有文件,只留下一个子文件夹进行监视。我应该如何修改
    SCSSSource
    String来实现这一点

    完整代码:

    var gulp = require('gulp');
    var watch = require('gulp-watch');
    var concat = require('gulp-concat-util');
    
    
    gulp.task('watch', function(){
    
      // "./*"  - all in current foler
      // "./**" - all in current foler and subfolders
    
      // SCSS FILE
      var SCSSPath = '../framework/';
      var SCSSName = '**/*.scss';
      var SCSSSource = SCSSPath + SCSSName;
    
      function concatSCSS(){
        // concatenate files
        gulp.src(SCSSSource)
        .pipe(concat('_cssfw.scss', {
          process: function(src){
            src = "\n\n\n\/\/ ----------------------------------------------------------------------\n\n"
                  + src;
            return src;
          }
        }))
        .pipe(concat.header('\/\/SCSS Framework\n\n'))
        .pipe(gulp.dest(SCSSPath + "./"));
      }
    
      watch('../framework/**/*.scss', function (info) {
        concatSCSS();
        console.log(info.event + " scss: " + info.history[0].replace(/^.*[\\\/]/, ''))
      });
    
      concatSCSS();
    
    });
    

    我认为可以使用glob模式排除根文件夹中的
    .scss
    文件,如下所示:

    var SCSSSource = SCSSPath + SCSSName;
    var exclude = "!../framework/*.scss"
    function concatSCSS(){
            // concatenate files
            gulp.src([SCSSSource, exclude])
    

    这样,您只能从子目录中获得.scss文件,修改为
    var-SCSSSource=['../framework/***/.scss','!../framework/*.scss']解决了它。