gulpfile.jsFare file sorso di scrittura in modo sincrono prima di passare al prossimo compito
gulp.task('browser-bundle', ['react'], function() {
...
});
gulp.task('react', function(){
gulp.src(options.JSX_SOURCE)
.pipe(react())
.pipe(gulp.dest(options.JSX_DEST))
});
Come potete vedere ho il compito browser fascio a seconda del compito reagire. Credo che questo funziona come previsto perché in uscita vedo questo:
[gulp] Running 'react'...
[gulp] Finished 'react' in 3.43 ms
[gulp] Running 'browser-bundle'...
Tuttavia, anche se il compito di reagire è terminato, i file sua presunta di scrivere il sistema operativo non sono ancora lontani. Ho notato che se inserisco un'istruzione sleep nel comando bundle del browser, funziona come previsto, tuttavia questo mi sembra un po 'fastidioso.
Se si desidera che l'attività di risposta non venga considerata terminata finché i file (da gulp.dest) non sono stati scritti in modo sincrono su disco, come dovrei farlo?
hah, sì ho appena capito che fuori me stesso. Bene, hai ancora i punti, grazie per aver risposto a – asolberg
@Rwam Dev: saresti in grado di fornire un link dove è documentato? Da quello che ho letto, il modo corretto è il seguente: http://stackoverflow.com/a/26336022/984407 – aaaaaa
@aaaaaa Dai un'occhiata a questa ricetta: https://github.com/gulpjs/gulp/blob/master /docs/recipes/running-tasks-in-series.md L'utilizzo di 'return' in gulp task genera l'esecuzione in modo sincrono. No 'return' == asincrono. –