Suppression de fichiers en une gorgée de la tâche
J'ai bu une gorgée de la tâche dans laquelle je veux prendre quelques fichiers source et copie à build/premium
et build/free
puis supprimer des fichiers à partir de
build/free
.
Ma tentative qui faisait ça:
gulp.task("build", ["clean"], function () {
gulp.src(["src/*", "!src/composer.*", "LICENSE"])
.pipe(gulp.dest("build/premium"))
.pipe(del(["build/free/plugins/*", "!build/free/plugins/index.php"]))
.pipe(gulp.dest("build/free"));
});
Ce qui provoque une erreur:
TypeError: dest.on is not a function
at DestroyableTransform.Stream.pipe (stream.js:45:8)
at Gulp.<anonymous> (/Users/gezim/projects/myproj/gulpfile.js:9:6)
Comment puis-je atteindre cet la suppression de port? Est-il un meilleur moyen pour ce faire?
- Je n'ai pas l'ordre des opérations ici. L'intention semble être de supprimer des fichiers (
.pipe(del(..))
) qui n'ont pas été copiés encore (.pipe(gulp.dest("build/free"))
). Est-il une raisondel
devrait être avant l'pipe
que des copies debuild/free
? - Je l'avais supprimer après la copie, mais cela ne fonctionne pas non plus. Je suppose que je pensais supprimer de la conduite, qui n'a aucun sens, avec le recul.
Vous devez vous connecter pour publier un commentaire.
Je voudrais utiliser
gulp-filter
à la baisse que ce ne doit pas être copié à partir de la 2ème destination.J'ai interprété l'intention de la tâche que de vouloir tout présent dans
src
d'être présent dansbuild/premium
. Cependant,build/free
devrait exclure tout ce qui était à l'origine danssrc/plugins
, mais il devrait toujours incluresrc/plugins/index.php
.Ici est un travail gulpfile:
Les modèles passés à
filter
sont relative chemins. Depuis legulp.src
modèle asrc/**
cela signifie qu'ils sont par rapport àsrc
.Note également que
del
ne peut pas être transmis directement à.pipe()
car il renvoie une promesse. Il pourra être retourné à partir d'une tâche, comme laclean
tâche ne.C'est un simple
clean
mise en œuvre des tâches avecgulp-del
:Dans votre cas, vous pouvez simplement appeler après génération (lire "l'utilisation de construire en tant que dépendance"):
Puis d'appeler la "complète-construction" de la tâche à effectuer.
Pour être honnête, ce n'est plus un "Grognement"-comme l'approche du problème, mais le fait avec Gulp. Peut-être la recommandation de filtrer les choses avant de les écrire dans le
build/free
dossier est plus dans le Trait d'esprit.Mise à jour 2/2018
Le supprimer module a été renommé
del
maintenant, comme indiqué par @gerl:build/free
une fois stuff est copié. Ayantclean
comme vous l'avez fait exécuter avantbuild
s'exécute.require('del')