Gulp browser-sync funktioniert nur einmal

8

Ich probiere Gulp bei einem meiner Projekte aus und ich wollte es so laufen lassen, wie ich es bei Grunt watch getan habe. Das bedeutet, dass es weniger Dateien und js-Dateien ansehen, fusseln, zusammenführen, kompilieren und den Browser aktualisieren muss, sobald alles fertig ist.

Ich habe es geschafft mit gulp-browser-sync zu arbeiten, aber aus irgendeinem Grund funktioniert es nur einmal. Ich ändere meine .less-Datei und der Browser lädt neu. Dann, eine zweite Änderung, es kompiliert, aber kein Neuladen geschieht.

Hier ist das Protokoll:

%Vor%

Und wenn ich ein zweites Mal auf Speichern klicke:

%Vor%

Was das JS anbetrifft, es funktioniert die ganze Zeit. Keine Probleme, auch nachdem die Styles-Aufgabe erledigt wurde, lösen die JS-Änderungen immer noch das Reload aus. Wirklich sind nur die Stile, die Probleme haben.

Hier ist die gulpfile.js

%Vor%

Danke für Ihre Hilfe!

    
Vallieres 22.04.2015, 14:41
quelle

4 Antworten

22

Wie wäre es direkt mit

? %Vor%

Ich hatte einmal das gleiche Problem beim Ändern von '.jade' Dateien, die nur einmal neu geladen wurden. Dann habe ich browserSync.reload in eine anonyme Funktion wie

eingepackt %Vor%

Es funktioniert für mich. Ich weiß nicht, ob es etwas Besonderes an browserSync.reload gibt. Wie wäre es mit einem Versuch? :)

    
Charlie Stras 25.05.2015 12:27
quelle
5

Für mich in Gulp 4 hat die anonyme Funktion das Problem nicht gelöst. Was ich getan habe, war die browserSync.reload () -Funktion in eine Funktion mit einem done callback zu packen:

%Vor%     
Paul Hayes 07.07.2016 08:55
quelle
0

Sind Sie sicher, dass das CSS im Browser nicht geändert wird? Neue Stile werden geladen, ohne dass die Seite erneut geladen werden muss. Zumindest macht das mein Schluck Setup.

Versuchen Sie, die .less-Datei zu ändern und festzustellen, ob die Änderung tatsächlich im Browser sichtbar ist.

    
Parin 22.04.2015 14:48
quelle
0

Meine Situation ist ein wenig anders, aber es könnte ähnlich genug sein, um Ihnen oder jemand anderem zu helfen. Ich habe gulp + browserSync folgendermaßen eingerichtet:

%Vor%

Dies würde starten und die Seite einmal öffnen. Wenn ich die HTML-Seite ändere und sie speichere, könnte ich lint, sass, js und browserSync.reload run sehen, aber der Browser hat nicht aktualisiert. Mein HTML war sehr einfach; das:

%Vor%

Ich habe das HTML endlich geändert und es hat angefangen zu arbeiten:

%Vor%     
Kip 01.07.2015 17:32
quelle