Comment utiliser gulp-si conditionnelle, compiler moins de fichiers?
Je ne peux pas obtenir gulp-si pour fonctionner correctement.
Sans clin d'oeil, si elle fonctionne bien:
gulp.task('css', function() {
return gulp.src([
// 'bower_components/bootstrap/dist/css/bootstrap.css',
'app/stylesheets/main.less',
])
.pipe(less({
strictMath: true,
strictUnits: true,
}))
.pipe(concat('all.css', {newLine: '\n'}))
.pipe(prefixer('> 1%'))
.pipe(minifyCss())
.pipe(gulp.dest('public/css'));
});
Mais dès que j'ajoute gulp-if
dans le mélange, la gulpif
pipe retourne rien quand il retourne à la main stream:
gulp.task('css', function() {
return gulp.src([
'bower_components/bootstrap/dist/css/bootstrap.css',
'app/stylesheets/main.less',
])
.pipe(gulpif(/\.less$/,less({
strictMath: true,
strictUnits: true,
})))
.pipe(concat('all.css', {newLine: '\n'}))
.pipe(prefixer('> 1%'))
.pipe(minifyCss())
.pipe(gulp.dest('public/css'));
});
Pourquoi est-ce? Ce que je fais mal? Si j'ai ajouter quelques billes dans le gulp-if
code source, je peux voir que la condition est passant.
OriginalL'auteur mpen | 2014-04-16
Vous devez vous connecter pour publier un commentaire.
Je pense que vous souhaiterez peut-être utiliser
gulp-filter
à la place: https://www.npmjs.org/package/gulp-filterCela va créer un flux filtré et le
restore()
permettra de restaurer le flux.gulpIf
est fait pour conditionnellement traiter un flux entier et pas seulement les fichiers correspondants.gulp-filter
un tourbillon, mais je ne comprends toujours pas ce quegulp-if
ne fonctionnerait pas. Je l'ai vu utilisé pour compiler coffeescript avant.Vous êtes de droite.
gulp-if
utilisegulp-match
qui doit traiter des expressions régulières. Cela devrait aussi être valable aussi bien:.pipe(gulpIf('**/*.less'),less(lessOptions))
gulp-si et gulp-filtre de répondre aux différents besoins. gulp-filtre enlève les choses à partir du flux qui correspondent au filtre. gulp-si est un ternaire-stream choses qui passent à la si et d'autre des ruisseaux si elle correspond, et passe ensuite tout en aval.
OriginalL'auteur Nicholas Boll
Cela ressemble à un bug dans
gulp-if
. Essayez de mettre à niveaugulp-if
à la dernière version, et si cela ne fonctionne pas, après une question sur https://github.com/robrich/gulp-if/issues.OriginalL'auteur robrich
gulpif
va travailler avec une fonction, mais pas une regex?Yep! Regardez ceci: github.com/robrich/gulp-if
Vraiment? Parce que les docs ajouter qui accepte un RegularExpression.
OriginalL'auteur kossmos