Kürzlich aufgerufen Ich habe begonnen letzte Ausführung zweimal. Es tut, aber jedes Mal, wenn ich die Aufgabe ausführen, wird der Zeitstempel nur definiert, nachdem die done()
-Funktion aufgerufen wird. Der Ausgang ist ähnlich:gulp.lastrun erst nach dem getan einen Wert zurückgibt() Funktion
[12:00:25] Using gulpfile c:\xampp\htdocs\gulp\gulpfile.js
[12:00:25] Starting 'example'...
[12:00:25] Starting '<anonymous>'...
undefined
[12:00:25] Finished '<anonymous>' after 2.14 ms
[12:00:25] Finished 'example' after 4.39 ms
1482058825484
Also das erste Mal, dass ich die lastRun
Zeitstempel zu bekommen versuchen es ist nicht definiert und das zweite Mal gibt es einen Zeitstempel für den aktuellen Lauf (weil done()
bereits genannt wurde). Wie bekomme ich den letzten Zeitstempel?
Edited:
Ich habe dieses Beispiel Aufgabe nur, wie lastRun
Werke zu bestimmen. Eine "real-life" Aufgabe wäre so etwas wie dieses:
gulp.task('scripts',
gulp.series(function scriptsInternal() {
return gulp.src('src/scripts/**/*.js', {since: gulp.lastRun('scripts')})
.pipe(cached('ugly'))
.pipe(uglify())
.pipe(remember('ugly'))
.pipe(concat('main.min.js'))
.pipe(gulp.dest('dist/scripts'));
})
);
In diesem Fall lastRun('scripts')
auch undefined
zurückgibt. Zumindest nehme ich an, weil die Aufgabe 2 Sekunden dauert, ob ich die Option since
verwende oder nicht. Here ist eine weitere Beispielaufgabe, die funktionieren sollte, aber geht das?
Das ist das erwartete Verhalten. Wenn Sie die Dokumente lesen, sehen Sie, dass 'lastRun()' nicht die letzte Ausführung einer Aufgabe zurückgibt, sondern die letzte ** erfolgreiche ** Ausführung. Ein Lauf ist nicht erfolgreich, wenn 'done()' nicht aufgerufen wurde. Ihre einzige Möglichkeit ist, den Zeitstempel selbst in der ersten Zeile Ihrer Aufgabe aufzuzeichnen und sich nicht auf 'lastRun()' zu verlassen. –
@SvenSchoenung Danke, dass du dir die Zeit genommen hast zu antworten. Ich habe meine Frage bearbeitet. Ich verstehe immer noch nicht, wie ich 'lastRun' verwenden soll, um nur mit Dateien zu arbeiten, die seit der letzten Ausführung der Aufgabe geändert wurden. – wolo