Wir haben eine Reihe von Anwendungen, die gemeinsame Schlucklogik verwenden, also haben wir ein Schluckplugin erstellt, das eine Reihe von benutzerdefinierten Aufgaben enthält.
Wir möchten jedoch vermeiden, dass gulp + unser Plugin (zusammen mit dem halben Internet) für jede der von uns entwickelten Anwendungen installiert wird.
Idealerweise würde ich gerne tun:
%Vor%Dann müssten wir für jede App einfach tun:
%Vor%Obwohl das funktioniert, ist das Problem, dass Schluck keine unserer benutzerdefinierten Schluckaufgaben mehr erkennt. Jeder Schluckbefehl, den ich ausführe, ergibt:
%Vor%Die 'Dev' Aufgaben sind in meinem Schluck Plugin, warum findet man es nicht? Meine gulpfile.js hat nur das:
%Vor%Derselbe Prozess funktioniert, wenn gulp + das Plugin lokal installiert wird. Irgendwelche Ideen warum?
Alternativ zur angenommenen Antwort kannst du es so machen, wie es in Grunzzeiten üblich war, wo du dem Plugin den Schluck injizierst:
Im Plugin: alles umschließen mit:
%Vor% und entfernen Sie require('gulp')
aus der Datei des Plugins.
In gulpfile, das vom Plugin abhängt tun Sie dann:
%Vor%Auf diese Weise
gulp.tasks
nicht überschreiben. gulp
a package.json
Abhängigkeit in jedem der Plugins deklarieren (weniger Arbeit für npm install
)