Der gesamte Prozess der Optimierung des ersten Ladens einer Vue-Seite

Der gesamte Prozess der Optimierung des ersten Ladens einer Vue-Seite

Vorwort

Heute habe ich das von mir entwickelte Blogsystem online gestellt, aber ich habe den erstellten Dist-Ordner einfach in das Stammverzeichnis des Cloud-Servers verschoben, was ihn beim ersten Aufrufen der Seite sehr langsam machte. Ich muss ihn also optimieren.

Größe vor der Optimierung

1. Bildoptimierung

Um die Entwicklung zu erleichtern, habe ich ein JPG als Hintergrundbild in die Assets eingefügt, das Laden des Bildes dauerte mehr als zehn Sekunden. Also habe ich das Bild in den Bereich hochgeladen und stattdessen die Netzwerkadresse verwendet.

2. Deaktivieren Sie die Generierung von .map-Dateien

Im Dist-Ordner des Builds befinden sich viele .map-Dateien. Diese Dateien werden hauptsächlich verwendet, um den Code online zu debuggen und den Stil anzuzeigen. Da sie grundsätzlich lokal debuggt werden und nicht online geändert werden müssen, ist das Generieren dieser Dateien verboten.

Fügen Sie diesen Satz in vue.config.js hinzu.

3. Routing Lazy Loading

\

4. CDN führt öffentliche Bibliothek ein

    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" rel="externes nofollow" >
    <script src="https://cdn.bootcss.com/vue/2.6.11/vue.min.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
    <script src="https://cdn.bootcss.com/vuex/3.0.1/vuex.min.js"></script>
    <script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>
    <script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
    //cdn importiere configureWebpack: {
        Äußerlichkeiten: {
            'vue': 'Ansicht',
            'element-ui': 'ELEMENT',
            'vue-router': 'VueRouter',
            'vuex': 'Vuex',
            'axios': 'axios'
        }
    }

Im Internet steht zwar, dass man den Import auskommentieren kann, aber wenn man das selbst macht, bekommt man eine Fehlermeldung. In manchen Informationen steht auch, dass es ohne Kommentierung nicht verpackt wird.

Nach einer Weile hat die endgültige Datei einen erheblichen Effekt, aber app.js ist immer noch sehr groß

5. GZIP-Komprimierung

Nachdem ich damit fertig bin, finde ich, dass die ersten vier Schritte ein Kinderspiel sind. Ich habe die 1,4 MB große app.js direkt auf über 100 KB reduziert, und der Rest ist nicht der Rede wert.

 konfigurierenWebpack: config => {
        zurückkehren {
            //CDN konfigurieren
            Äußerlichkeiten: {
                'vue': 'Ansicht',
                'element-ui': 'ELEMENT',
                'vue-router': 'VueRouter',
                'vuex': 'Vuex',
                'axios': 'axios'
            },
            //GZIP-Komprimierungs-Plugins konfigurieren: [
                neues CompressionWebpackPlugin({

                    Test: neuer RegExp('\.(js|css)$'),
                    Schwellenwert: 10240,
                    minVerhältnis: 0,8
                })
            ],
        }
    }

Der Server muss ebenfalls konfiguriert werden, sonst erkennt er die GZIP-Datei nicht

//GZIP-Komprimierungsmodul konfigurieren const compression = require('compression');
//Führen Sie app.use(compression()) vor aller Middleware ein;

Der schlechteste Server kann nach den obigen Optimierungen immer noch fliegen!!!

Vergleichen Sie und das Ergebnis ist offensichtlich!!!

6. Verwenden Sie Vue-Router zum verzögerten Laden von Seiten

Das verzögerte Laden der Seite bedeutet hier, dass ich, wenn ich jetzt Seite A besuche, nur die Dinge auf Seite A anfordere und nicht die Dinge auf anderen Seiten.

Die einzelnen Schritte sind auf der offiziellen Website von vue-router klar beschrieben. Sie können bei Bedarf einen Blick darauf werfen:

Implementierung des Lazy Loading von Seiten durch Vue-Router

Zusammenfassen

Dies ist das Ende dieses Artikels über die Optimierung des ersten Ladens von Vue-Seiten. Weitere relevante Inhalte zur Optimierung des ersten Ladens von Vue-Seiten finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Eine kurze Diskussion über das On-Demand-Laden von Seiten zur Vue-Projektoptimierung (vue+webpack)
  • Detaillierte Erläuterung zur Optimierung der von Vue implementierten Verpackung mehrseitiger Projekte

<<:  So erstellen Sie mit CSS eine Bildlaufleiste mit fester Navigation und Links- und Rechtsverschiebung

>>:  Als der Interviewer nach dem Unterschied zwischen char und varchar in mysql fragte

Artikel empfehlen

So installieren Sie eine MySQL-Datenbank unter Ubuntu

Ubuntu ist ein kostenloses und quelloffenes Deskt...

So behandeln Sie den vom Linux-System gemeldeten Fehler tcp_mark_head_lost

Problembeschreibung Kürzlich meldete ein Host die...

Der beste Weg, um den 1px-Rand auf Mobilgeräten zu lösen (empfohlen)

Bei der Entwicklung für Mobilgeräte tritt häufig ...

js, um einen einfachen Lupeneffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

Erweiterte benutzerdefinierte JavaScript-Ausnahme

Inhaltsverzeichnis 1. Konzept 1.1 Was sind Fehler...

Detaillierte Erklärung zum CSS-Randkollaps

Vorherige Das ist eine klassische alte Frage. Da ...

Docker konfiguriert den Speicherort lokaler Images und Container

Verwenden Sie den Befehl „Find“, um Dateien zu fi...

Zusammenfassung der Überwachung von Tastaturereignissen durch Vue

Wichtige Modifikatoren Wenn wir auf Tastaturereig...

Vue implementiert das Ziehen und Sortieren von Bildern

In diesem Artikelbeispiel wird der spezifische Co...

Eine kurze Einführung in Linux-Leistungsüberwachungsbefehle kostenlos

Wie können wir den Fehler lokalisieren, wenn im S...

Detailanalyse der MySQL-Berechtigungskontrolle

Inhaltsverzeichnis 1. Globale Ebene 2. Datenbanke...

So kennzeichnen Sie die Quelle und Herkunft von CSS3-Zitaten

Wegen der Epidemie werde ich zu Hause fast schimm...

Natives JS zur Implementierung des Spiels 2048

2048 Minispiel, zu Ihrer Information, der spezifi...