Wie behebe ich den Fehler "Aufgabe ist nicht in deinem gulpfile" wenn du npm link benutzt?

8

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?

    
zedix 10.03.2015, 19:21
quelle

2 Antworten

5

Ich habe es herausgefunden. Die folgende Zeile am Ende meines Moduls wurde hinzugefügt:

%Vor%

Und mein gulpfile in jedem Modul sieht so aus:

%Vor%     
zedix 17.03.2015, 15:39
quelle
1

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

  • Sie können mehrere Plugins in der Hauptgulpdatei haben, weil Sie gulp.tasks nicht überschreiben.
  • Plugins müssen nicht gulp a package.json Abhängigkeit in jedem der Plugins deklarieren (weniger Arbeit für npm install )
jakub.g 21.10.2015 12:53
quelle

Tags und Links