gulp.run
e gulp.start
sono considerati cattiva pratica:
https://github.com/gulpjs/gulp/issues/426
https://github.com/gulpjs/gulp/issues/505
Purtroppo, la risposta qui sembra essere che il vostro collega non può capire veramente Gulp. Potresti non essere in grado di risolvere questo problema senza modificare il codice.
Senza più contesto, come l'intero file gulp, non riesco a riprodurre il tuo problema esatto. Tuttavia, la mia impressione è che abbia qualcosa a che fare con il modo in cui Gulp esegue le attività in modo asincrono/continuo. Potrebbe essere il caso che il tuo task 'default' stia uscendo prematuramente, perché gulp.run
non viene eseguito in modo sincrono. In un modo o nell'altro, Gulp è confuso su quali attività devono aspettare su cosa, quando. Stai utilizzando due strumenti completamente diversi per gestire la tua sequenza di esecuzione.
Invece di gulp.run
, il vostro compito 'servire' in realtà dovrebbe utilizzare le dipendenze per eseguire altri compiti:
gulp.task('serve', ['fonts', 'browsersync', 'watch']);
gulp.task('default', ['serve']);
Inoltre, vale la pena sottolineare che il vostro compito orologio è già elencando 'browsersync' come una dipendenza. Anche se non è tecnicamente errato (Gulp lo ignorerà la seconda volta), può portare a complicazioni e confusione e quindi probabilmente non è una buona idea. Se 'orologio' dipende 'browsersync', si può semplicemente rimuovere la dipendenza 'browsersync' da 'servire':
gulp.task('watch', ['styles', 'browsersync'], function() {
gulp.watch([
'./app/assets/sass/**/*.scss',
'./app/modules/**/*.scss'
], ['styles']);
gulp.watch([
'./app/**/*.js',
'./app/**/*.html'
], function() {
reload();
});
});
gulp.task('serve', ['fonts', 'watch']);
gulp.task('default', ['serve']);
Questo dovrebbe ottenere il risultato che stai cercando.
Detto questo, se proprio insisti a seguire una cattiva pratica, si potrebbe provare a utilizzare gulp.run
nel vostro compito 'default':
gulp.task('default', function() {
gulp.run('serve');
});
ho il sospetto il problema principale è che si stia mescolando l'utilizzo delle dipendenze delle attività dell'array e gulp.run
, ma in entrambi i casi, gulp.run
significa "sbagliare".
Che aspetto ha il tuo compito di sorveglianza? – Seth
Aggiunto alla domanda originale. Scusate. – Steve