Gulp.js flux d'événements de fusion de l'ordre
Je suis en train de fusionner les css et les fichiers scss dans une main.fichier css qui va dans mon répertoire de construction.
Son travail, mais pas dans le bon ordre. Les attributs de style de la scss fichiers doivent être dans le bas de la main.fichier css afin qu'ils annuler le reste.
mon Gulp tâche ressemble à ceci:
//CSS
gulp.task('css', function () {
var cssTomincss = gulp.src(['dev/css/reset.css', 'dev/css/style.css','dev/css/typography.css', 'dev/css/sizes.css']);
var cssFromscss = gulp.src(['dev/css/*.scss'])
.pipe(sass());
return es.merge(cssTomincss, cssFromscss)
.pipe(concat('main.css'))
.pipe(minifyCSS())
.pipe(gulp.dest('build/css'))
});
Je suis la définition des sources de la première avec des variables. Je suis l'aide de la gulp-sass plugin pour convertir le fichier scss en css (.pipe(sass)) et, plus tard, la fusion des deux avec les es.la fonction de fusion et la concaténation en main.css.
Le problème est que les attributs de style van la .scss fichiers se retrouvent quelque part dans le haut de la fourchette de la main.fichier css. J'ai besoin d'eux pour être à la base. De sorte qu'ils doivent être concaténés en bas.
Aucune idée de comment faire cela?
Vous devez vous connecter pour publier un commentaire.
Essayer streamqueue.
Cette triche va vous aider. PDF est ici.
Il semble que le plugin gulp-commande s'intègre parfaitement bien dans votre cas.
Il vous permet de re-commander le passé
stream
avec votre propreglob
modèle, par exemple en fonction de votre code :Un inconvénient de cette est que vous avez de re-déclarer votre
globs
, mais vous pouvez vous déplacer à affecter votreglobs
à une valeur et puis concat en vousorder
pipe, beaucoup plus propre.Vous pouvez avoir à définir l'
base
option pour.
de gulp ordre comme indiqué dans leur Readme si les fichiers n'ont pas été classés correctement.Un autre moyen serait d'utiliser stream-series, essentiellement la même que événement-stream, mais l'ordre de votre flux est préservée, et vous ne pas avoir à réécrire votre
globs
..pipe(order[path1, path2], { base: '.' })
résolu.J'ai essayé gulp-commande sans succès: l'ordre d'une certaine manière n'était pas pris en compte.
La solution qui a fonctionné pour moi a été l'aide de stream-series, mentionné par Aperçu.
Je n'ai pas réussi avec toutes les réponses, ils ont produit certains silencieux erreurs. Enfin merge2 a fonctionné pour moi (on dirait que il n'y a
gulp-merge
et, plus tard, le projet a été renommé enmerge2
). Je ne suis pas sûr de savoir pourquoi il existe un besoin dans streamify plugin, par exemple, les flux créés avec le correctif Cumulatif peut produire des "flux non prise en charge "erreurs" avecgulp-concat
,gulp-uglify
ougulp-insert
.