VorwortWenn ein reguläres Vue-Projekt gepackt und aufgerufen wird, gibt es ein HTML zurück, das nur Div enthält, und andere Inhaltsblöcke werden dynamisch von JS generiert. Es gibt zwei große Probleme:
Dieser Artikel ist eine von mir auf der Grundlage von Projekterfahrungen zusammengefasste Lösung. Wenn es Mängel gibt, weisen Sie bitte darauf hin ~ Optimierung SSR SSR (Server-Side Rendering) ist serverseitiges Rendering, das Vue-Komponenten serverseitig in zusammengesetzte HTML-Strings rendert und diese dann direkt an den Browser sendet. Schließlich müssen diese statischen Tags auf dem Client in eine vollständig interaktive Anwendung eingemischt werden. Sie können sehen, dass der zurückgegebene Inhalt bereits den HTML-Codeblock des ersten Bildschirminhalts enthält, perfekt!~.~ Speedy Portal: Eine kleine Demo basierend auf vue-cli4.0+Typescript+SSR Import auf AnfrageVerwenden Sie das ES6-Modul für den On-Demand-Import 1. Importieren Sie Komponenten bei Bedarf in Routing-Dateien# router.index.ts Exportfunktion createRouter() { returniere neuen Router({ Modus: "Verlauf", Routen: [ { Weg: '/', Name: "Home", Komponente: () => import(/* webpackChunkName: "Home" */ './views/Home.vue'), }, { Pfad: '/about', Name: 'Über', Komponente: () => import(/* webpackChunkName: "about" */ './views/About.vue'), }, ], }); } 2. Statische Bibliotheken importieren Module bei Bedarf, nicht alleBeispielsweise möchte ich in der Element-UI-Bibliothek nur die Schaltflächenkomponente verwenden: importieren { Taste } von „element-ui“; Anfrageoptimierung 1. CSS- und JS-PlatzierungsreihenfolgeDie CSS-Datei wird in den Header und die JS-Datei vor den Textkörper eingefügt, aber Vue hat das bereits für uns erledigt ~ 2. Verwenden Sie Schriftsymbole und Sprite-Bilder als SymbolressourcenWir wissen, dass HTTP drei Handshakes benötigt, um eine Verbindung herzustellen. Zu viele Anfragen beeinträchtigen die Ladegeschwindigkeit. Wir sollten versuchen, unnötige statische Ressourcen wie Symbole auf der Seite zu reduzieren, wie im folgenden Bild von der offiziellen Website von Tencent gezeigt: Direktes Importieren eines fertigen Bildes und Festlegen der Bildposition entsprechend der Hintergrundposition CDN verwendenStatische Ressourcen werden auf das CDN hochgeladen, um die Zugriffsgeschwindigkeit zu verbessern Ohne CDN:Verwendung von CDN:Es ist ersichtlich, dass statische Dateien nach der Verwendung von CDN durch GZIP komprimiert werden und die Download-Geschwindigkeit erheblich verbessert wird. EintragsblockoptimierungDurch das Aufteilen der Eintrags-Chunk-Dateien und das Trennen einiger statischer Bibliotheken können Sie die Paketierung beschleunigen und das Laden optimieren. Wie unten gezeigt, werden einige statische Bibliotheken getrennt: vuejs, axios, vuex usw. Sie können sehen, dass der Browser mehrere Download-Threads zum Herunterladen öffnet. Wenn diese statischen Bibliotheken nicht getrennt werden, ist der Eintragsblock sehr groß und die Ladegeschwindigkeit kann man sich vorstellen ~.~ Trennen Sie eine Element-UI-Bibliothek. Wir müssen uns nicht um die Entwicklungsumgebung kümmern. Wir trennen sie nur in der Produktionsumgebung. Wir müssen die Bibliothek nur in der Vue-Verpackungskonfiguration entfernen: # vue.config.js konfigurierenWebpack: { Äußerlichkeiten: process.env.NODE_ENV === 'Produktion' ? { 'element-ui': 'element-ui', } : undefiniert, }, # index.html statische Ressourcen manuell importieren <script src="/js/element-ui/element-ui.2.11.1.js"></script> Oben sind die Details des Vue SPA-Optimierungsplans für den ersten Bildschirm aufgeführt. Weitere Informationen zur Vue SPA-Optimierung für den ersten Bildschirm finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Die perfekte Lösung für die verstümmelten chinesischen Zeichen in mysql6.x unter Win7
>>: Detaillierte Erläuterung der Fallstricke des Nginx-Proxy-Socket.io-Dienstes
Inhaltsverzeichnis Vorwort Umfeld Installieren Er...
MySQL bietet zwei verschiedene Versionen für unte...
In den vorherigen Kapiteln haben wir die Auswahl ...
Zeichenfolgenfunktionen Überprüfen Sie den ASCII-...
Bei der Frontend-Entwicklung stehen wir in direkt...
Inhaltsverzeichnis 1. Anti-Shake 2. Drosselung 3....
Inhaltsverzeichnis 01 Gemeinsame Controller in k8...
Vorwort Ab MySQL 5.7.11 unterstützt MySQL die Dat...
Die Beispiele in diesem Artikel laufen auf MySQL ...
Inhaltsverzeichnis Vorwort 1. Verwenden Sie eine ...
Wirkung: Erstellen Sie zunächst fünf Vue-Schnitts...
Code kopieren Der Code lautet wie folgt: <vor&...
1. MySql-Architektur Bevor wir die Speicher-Engin...
Vorwort Tipp: Das Folgende ist der Hauptinhalt di...
Inhaltsverzeichnis Hintergrund zum Schreiben Proj...