Ich hoffe, es ist nicht zu spät, diese Frage zu beantworten. Ich musste beide auf Quellcode-Ebene für ein aktuelles Projekt evaluieren, und hier ist meine Ansicht.
schluck-neuere
Im Kern vergleicht dieser Plugin der Quelle und dest der Datei geändert Zeit (siehe node API), um zu entscheiden, ob die Quelldatei neuer ist als die dest Datei oder, wenn es keine dest Datei überhaupt . Hier ist der zugehörige Code in das Plugin:
var newer = !destFileStats || srcFile.stat.mtime > destFileStats.mtime;
schluck-changed
Dieses Plugin verwendet standardmäßig auch eine modifizierte Zeit der Datei, die zu entscheiden, durch den Strom
function compareLastModifiedTime(stream, cb, sourceFile, targetPath) {}
passieren, aber es geht einen Schritt weiter und bietet eine Option zum Vergleichen des Inhalts der Datei SHA1-Hash:
Diese Information ist nett documented.
Fazit
So theoretisch, wenn Sie den Standard des schluck-verändert verwenden hasChanged: changed.compareLastModifiedTime
, jedes Plugin relativ so schnell wie die andere ist. Wenn Sie gulp-changes hasChanged: changed.compareSha1Digest
verwenden, ist es vernünftig zu erwarten, dass gulp-change etwas langsamer ist, da es einen SHA1-Hash des Dateiinhalts erzeugt. Ich habe keinen Benchmark erstellt, aber ich bin auch daran interessiert, eine Nummer zu sehen.
Welche
schluck-verändert, rein wegen der Entwickler dahinter (sindresorhus) zu wählen. Wenn dieser tolle Mann eines Tages entscheidet, dass er aufhören wird, seine Schluckplugins zu unterstützen, denke ich, dass ich aufhören werde, Schluck zu konsumieren.
Scherz beiseite, gulp-changed Quellcode ist Schluck-y, während Schluck-neuere Quelle liest so ziemlich wie nur die Quelle eines anderen Knoten-Moduls mit vielen Versprechen. So ein anderer +1 für Schluck-verändert :)
riesig EDIT
Gulp-verändert funktioniert nur mit 1: 1 Quelle: dest Mapping. Wenn Sie viele benötigen: 1, z.B. Wenn Sie mit Schluck-Concat verwenden, wählen Sie stattdessen Schluck-Neuer.
Ihre Punkte Basierend, die meine Schlussfolgerung ist, gegenüber, verwende ich schluck-neuere, weil schluck-neueres Unterstützung viele: 1, aber schlucke-verändert fehlt, während schluck-changed Unterstützung Hash- vergleichen, aber Zeitstempel vergleichen ist in meinem Fall gut genug. –
Da deine Bearbeitung vor einiger Zeit abgeschlossen ist, könntest du bitte einen kurzen Überblick geben, ob dieses Problem mit 'gulp-changed' noch immer besteht? Ich meine, hängt das Problem davon ab, wie das Plugin funktioniert und kann niemals gelöst werden oder kann und/oder hat dieses Update in irgendeiner Form (schon) funktioniert? – Anticom