J'ai une tâche gulp svg-sprites
en boucle à travers mes Sprites. Certains d'entre eux ont besoin d'être minifiés, donc j'ai un if
qui exécute la tâche de minify sur ces sprites.Ajouter une promesse pour charger la tâche avec pourEach
Je voudrais qu'il soit terminé lorsque le forEach est terminé. En ce moment, il est dit «fini» trop tôt. Je suppose que je devrais ajouter une promesse, mais je ne suis pas sûr de savoir comment l'aborder. Aide appréciée.
var gulp = require('gulp');
var svgSprite = require('gulp-svg-sprite');
var svgmin = require('gulp-svgmin');
gulp.task('svg-sprites', function() {
var stream = '';
config.svgSprites.forEach(function (item) {
stream = gulp.src(item.src + '/**/*.svg');
if(item.doMinify) {
stream.pipe(svgmin({
plugins: [
{
removeAttrs: {
attrs: ['path:fill', 'g:fill']
}
}
]
}))
}
stream.pipe(svgSprite())
.pipe(gulp.dest(normalizePath(item.dest)));
});
return stream;
});