Next.js: Können wir Prefetching implementieren, ohne Service Worker zu verwenden?

Erstellt am 26. Dez. 2016  ·  3Kommentare  ·  Quelle: vercel/next.js

Zunächst einmal vielen Dank, dass Sie ein so tolles Tool erstellt haben! Next.js erscheint mir wie ein "Traum-Framework" zum Erstellen von Web-Apps, das "uns das Beste aus beiden Welten bringt" (Einzelseiten-App und serverseitiges Rendering).

Für mich ist das wichtigste Element, das Next.js dabei hilft, sein Versprechen zu erfüllen, die Fähigkeit, alle Komponenten vorab abzurufen, die die -Tags verweisen auf eine Seite.

Laut Dokumentation wird diese Funktion mit Service Worker implementiert, einer API, die nur Chrome und Firefox unterstützt. Dies bedeutet, dass ein großer Teil der Webbenutzer diese großartige Funktion einfach nicht nutzen kann. Ich weiß nicht, ob ich etwas vermisse.

Können wir Prefetching mit anderen Techniken implementieren, die alle modernen Browser unterstützen, anstatt Service Worker zu verwenden?

Hilfreichster Kommentar

Ein Grundsatz, der uns im Laufe der Jahre gute Dienste geleistet hat, ist die Bereitstellung von _Unterstützung_ für alle Browser, aber _Optimierungen_ für moderne.

Prefetching ist eine Optimierung. Immer mehr Code in eine Optimierung zu investieren, die veraltet sein wird (da alle modernen Benutzeragenten ServiceWorker oder dies planen) scheint kein guter Schwerpunkt zu sein.

Wenn Sie möchten, können Sie Ihr eigenes Userland-Prefetching-Modul erstellen, das dieselbe API wie next/prefetch bereitstellt. Das Schöne ist: Wenn Sie next/prefetch , wird es nicht in den Build aufgenommen. Keine Blähungen :)

Alle 3 Kommentare

Dies bedeutet, dass ein großer Teil der Webbenutzer diese großartige Funktion einfach nicht nutzen kann

Das ist irgendwie unwahr. Siehe: http://caniuse.com/#feat =serviceworkers
Browser gehen in diese Richtung und werden bald aufholen.

Wie auch immer, unser derzeitiger Fokus liegt auf der Auslieferung von 2.0 und die aktuelle Prefetching-Lösung ist dafür ziemlich gut.
Wenn jemand an diesem Vorschlag arbeiten könnte, denke ich, dass wir keinen Grund haben, nein zu sagen.
(Und es ist auch im Userland durchaus möglich)

Ich habe hier einige Ideen notiert, um den Support zu erweitern, nämlich AppCache zu verwenden: https://github.com/zeit/next.js/issues/24#issuecomment -258804529

Ein Grundsatz, der uns im Laufe der Jahre gute Dienste geleistet hat, ist die Bereitstellung von _Unterstützung_ für alle Browser, aber _Optimierungen_ für moderne.

Prefetching ist eine Optimierung. Immer mehr Code in eine Optimierung zu investieren, die veraltet sein wird (da alle modernen Benutzeragenten ServiceWorker oder dies planen) scheint kein guter Schwerpunkt zu sein.

Wenn Sie möchten, können Sie Ihr eigenes Userland-Prefetching-Modul erstellen, das dieselbe API wie next/prefetch bereitstellt. Das Schöne ist: Wenn Sie next/prefetch , wird es nicht in den Build aufgenommen. Keine Blähungen :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen