2014-04-16 5 views
2

J'ai un problème où je suis incapable de compiler un ensemble de fichiers LESS en utilisant Globbing.Gulp globbing et négation

Ma structure est la suivante:

+ dir3 
    - dir3.1 
    - dir3.1.1 
    - dir3.1.2 
    - dir3.2 
    - dir3.3 
    - responsive.less 
    - fixedwidths.less 

Chaque répertoire a un ensemble de fichiers moins et ce que je suis en train de faire est de compiler responsive.less et fixedwidths.less mais je veux ignorer tout le reste dossiers dans dir3.

Mon Gulp Glob pour compiler moins de fichiers est:

var paths = { 
    root: 'Publication/', 
    source: 'Publication/LESS/', 
    styles: 'Publication/**/*.less' 
} 

// Compile less files 
gulp.task('styles', function() { 
    gulp.src([ 
      paths.source+'**/*.less', // compile it all 
      '!'+paths.source+'**/variables.less', // ignore all variables.less 
      paths.source+'responsive/*.less', // compile responsive & fixedwidths 
      '!'+paths.source+'responsive/**/*.less' // ignore all less files in subdir of dir3 
     ]) 
     .pipe(less()) 
     .pipe(gulp.dest(paths.root+'build')) 
}); 

j'attendais que paths.source+'responsive/*.less' correspondrait responsive.less et fixedwidths.less et '!'+paths.source+'responsive/**/*.less' serait ignorer tout le reste, mais ce n'est pas ce qui semble se produire. Ce dernier code semble arrêter tout traitement de dir3.

Quelque chose peut-il aider?

Répondre

0

Il y a un bug dans le nœud-glob lié aux modèles glob négatifs. Voir ce bower issue et ce node-glob issue. Peut-être que votre problème est lié à cela?

Si tel est le cas, cette solution de contournement devrait fonctionner './!('+paths.source+'responsive/**/*.less)'.