Vorwort: Nehmen wir an, wir arbeiten wirklich hart an der Entwicklung einer vollständigen Vue.js-Anwendung. Die Leistung stand jedoch nicht im Vordergrund: Derzeit dauert das Laden, Navigieren, Senden oder Ausführen einer Benutzeraktion unserer App eine Weile. Sollten wir davon ausgehen, dass Benutzer diese verzögerte Erfahrung wünschen, oder möchten sie lieber länger bei der Vue js-Anwendung bleiben? Leider lautet die Antwort nein. Statistiken zufolge ist es erwiesen, dass 53 % der Benutzer keine Zeit mit Apps verbringen, deren Laden länger als 3 Sekunden dauert. Durch das Erstellen von Anwendungen mit optimierter Leistung wird das Benutzererlebnis verbessert und die Benutzerinteraktion schrittweise erhöht. Leider sind sich die meisten Entwickler der Bedeutung der Leistung nicht bewusst und erstellen am Ende umfangreiche Anwendungen mit Leistungsproblemen. Ich nehme an, Sie möchten nicht einer dieser Entwickler sein. Das Entwickeln von Anwendungen ist eine Herausforderung, aber das Entwickeln von Anwendungen mit optimierter Leistung ist eine noch größere Herausforderung. Um Ihnen diese Aufgabe zu erleichtern, habe ich diesen Blog zur Leistungsoptimierung von Vue.js erstellt, der Ihnen dabei hilft zu verstehen, wie Sie die Struktur Ihrer 1. Einleitung VueJS ist das beliebteste und stabilste Wenn Sie todsichere Tipps zur Leistungsoptimierung von Vue.js suchen oder einfach nur die Best Practices für Vue für Ihre groß angelegten Anwendungen kennenlernen möchten, sind Sie bei dem richtigen Blog gelandet. Lassen Sie uns, ohne zu sehr ins Detail zu gehen, ausführlich besprechen, wie Sie die Leistung Ihrer Vue js-Anwendung optimieren können. Es ist wichtig, zunächst die Anwendungsarchitektur von Vue js zu verstehen. Wenn wir verstehen, wie wichtig es ist, können wir erkennen, und wir werden beginnen, es ernster zu nehmen. Sehen wir uns also an, warum Sie Ihre Großanwendungen optimieren müssen. Denken Sie daran, dass die Optimierung jeder Anwendung wichtig ist. In diesem Blog geht es jedoch vorrangig um die Leistungsoptimierung von Vue. 2. Warum brauchen wir eine Leistungsoptimierung für Vue JS?Kein Programmierer möchte – auch nach dem Codieren von Tausenden von Zeilen –, dass Benutzer aufgrund der für die Ausführung von Benutzeraktionen benötigten Zeit keine Zeit mit der Anwendung verbringen möchten. Produktbesitzer auf der ganzen Welt entwickeln Produkte für Benutzer, deren Hauptanliegen eine reibungslose Interaktion ist. Wenn Programmierer mit der Leistung, Geschwindigkeit und Effizienz von Vue js nicht zufrieden sind, hat dies nichts damit zu tun, wie viel Aufwand der Endbenutzer in die Vue JS-Anwendungsarchitektur investiert hat. Aus diesem Grund ist es zu einem verbindlichen Standard geworden, die Leistung zu optimieren und so letztendlich die Anforderungen des Endbenutzers zu erfüllen. 3. Die Hauptgründe für die schlechte Leistung von VueSehen wir uns an, wie Vue js funktioniert und welche wichtigen Gründe für die schlechte Leistung von Vue js vorliegen. Die Gründe für die Verlangsamung der Vue-Leistung hängen von der Struktur Ihrer Vue js-Anwendung ab. Beispiel: Einer der wichtigen Gründe für die schlechte Leistung einer Vue jS Single Page Application (SAS) kann ein anderer sein als bei einem VueJS-Projekt, das serverseitiges Rendering (SSR) verarbeitet. Der Hauptgrund, warum jeder Entwickler entscheiden kann, ob es sich bei einer Anwendung um eine SPA handelt oder ob sie über SSR verfügt, ist die Bundle-Größe. Je größer die Bündelgröße, desto langsamer die Leistung von Vue js. Daher können wir den Schluss ziehen, dass die Bündelgröße umgekehrt proportional zur Anwendungsleistung ist. Einige häufige Gründe für große Vue js-Anwendungen -
Bevor wir besprechen, wie die Bundle-Größe reduziert werden kann, sehen wir uns an, wie die Bundle-Größe von Vue js und Vue js-Unternehmensanwendungen überprüft wird. Wie überprüfen Sie die Größe Ihrer VueJS-App? 1. Bericht erstellenErstellen Sie einen Bericht, der die Größen der verschiedenen verwendeten Pakete visuell darstellt. Darüber hinaus erfahren Sie, wie Sie Pakete ersetzen, die mehr Platz beanspruchen als erwartet. Mit dem Befehl „Bericht erstellen“ können Sie einen Anwendungsbericht erstellen. Beachten Sie, dass dieser Befehl einen Bericht für eine Anwendung erstellt, auf der webpack-bundle-analyzer installiert ist. Öffnen Sie nach dem Ausführen des obigen Befehls die Datei packages.json und fügen Sie diesen Inhalt hinzu „Build-Bericht“: „vue-cli-service build --Bericht“ Dann führen Sie dies aus. npm führt Build-Bericht aus Nach der Ausführung all dessen wird im Ordner „dist“ eine Datei mit dem Namen „report.html“ erstellt. Die Leistungsoptimierung von Vue.js-Anwendungen bietet Ihnen professionelle Analysen und Lösungen#yyds干货盘点# _vue 2. Führen Sie den Befehl aus und führen Sie npm run build ausWir werden ein Bild ähnlich diesem sehen: Die Leistungsoptimierung von Vue.js-Anwendungen bietet Ihnen professionelle Analysen und Lösungen #yyds干货盘点# _vue_02 Nachdem die Bündelgröße ermittelt wurde, besteht die Herausforderung nun darin, sie zu reduzieren. Lassen Sie uns ohne weitere Diskussion damit fortfahren, Möglichkeiten zur Optimierung der Leistung Ihrer Vue.js-Anwendung zu erkunden. 4. Wie kann die Leistung der Vue js-Anwendung optimiert werden?Hier sind einige VueJS-Leistungstipps, die Sie implementieren können, um die Leistung Ihrer Vue.js-Anwendung zu optimieren. 1. Lazy Loading in Vue js Wie der Name schon sagt, ist Lazy Loading in Einige Komponenten verfügen über Muster und Tooltips, die bei Bedarf geladen werden können. Wenn Sie mit zwei oder drei Modalfenstern oder Tooltips arbeiten, werden Sie die Ergebnisse nicht sehen. Angenommen Sie haben jedoch eine umfangreiche Vue-App mit sehr vielen Modalfenstern und Tooltips; das gleichzeitige Laden dieser Fenster und Tooltips wird die Leistung beeinträchtigen. Es lohnt sich einfach nicht, bei jedem Laden der Seite das gesamte Paket zu laden. So können Sie die Bündel leichter aufteilen und bei Bedarf laden. Auf diese Weise wird Zeit gespart, da kein unnötiger Code heruntergeladen und analysiert wird. So überprüfen Sie den tatsächlich auf Ihrer Website verwendeten JavaScript-Code
Das Netz mit den roten Hervorhebungen wird nicht verwendet und kann verzögert geladen werden. Durch die Nutzung der Lazy Loading-Funktion können Sie Ihre Paketgröße um 60 % reduzieren. Das ist alles dazu, was und warum wir Komponenten und Module in großem Maßstab verzögert laden sollten: Sehen wir uns an, wie das geht. Wir können dynamische So importieren Sie eine JavaScript-Datei, richtig? // demo.js const Demo = { testDemo: Funktion () { console.log("Das ist nur eine Demo!") } } Standard-Demo exportieren // app.js Demo aus „./demo.js“ importieren Demo.testDemo() Es fügt die Datei demo.js als node.js der Anwendung zu seinem Abhängigkeitsdiagramm hinzu und bündelt sie durch den Import auf diese Weise. Wenn das Paket geladen wird, wird demo.js dort geladen, wo es benötigt wird. Was aber, wenn wir demo.js nur als Reaktion auf eine Benutzeraktion laden möchten? In diesem Fall implementieren wir dynamische Importe und weisen die Anwendung an, dieses Modul nur bei Bedarf herunterzuladen. Nachfolgend finden Sie eine Änderung des obigen Codes, um einen dynamischen Import zum Testen der Vue.js-Anwendung durchzuführen. // app.js const getDemo = () => import('./demo.js') // später, wenn einige Benutzeraktionsaufgaben als das Erreichen der Route erfolgen getDemo() .then({ testDemo } => testDemo()) Sie können also feststellen, dass ich eine Funktion deklariert habe, die die Importfunktion zurückgibt, anstatt das Demomodul direkt zu importieren. Dies ist ein sogenannter dynamischer Import, sodass Lazy Loading in Vue js ist eine der Best Practices zum Reduzieren der Bundle-Größe und Optimieren der Leistung. Machen Sie es sich zur Gewohnheit, herauszufinden, welche Module Sie ohne eine explizite Benutzeraktion nicht benötigen, und laden Sie sie für eine bessere Leistung verzögert herunter. 2. Routenbasiertes Code-Splitting Angenommen, Sie müssen eine kleine Die Routendatei könnte ungefähr so aussehen: // routing.js Dashboard aus „./Dashboard.vue“ importieren Kontakt aus „./Contact.vue“ importieren const Routen = [ { Pfad: '/', Komponente: Dashboard } { Pfad: '/Kontakt, Komponente: Kontakt } ] Aufgrund dieses standardmäßigen Codierungsansatzes werden die Komponenten – Um unnötige Komponentendownloads zu vermeiden, verwenden wir Code-Splitting. Zu diesem Zweck verwenden wir unterschiedliche Pakete für unterschiedliche Pfade und folgen der Technik des dynamischen Imports. Komponenten werden jetzt über dynamisches Routing statt direkt importiert. Sehen wir uns an, wie das erreicht werden kann. // routing.js const Routen = [ { Pfad: '/', Komponente: () => import('./Dashboard.vue') } { Pfad: '/Kontakt, Komponente: () => import('./Contact.vue') } ] Wenn Sie dieses Verfahren befolgen, können Sie die Größe Ihres Bündels auf die Hälfte reduzieren! Dazu müssen Sie allerdings entscheiden, welche Komponenten für den dynamischen Import zur Verfügung stehen. Vertrauen Sie mir, solche 3.Vue js Komponenten vorladenLassen Sie uns weiter tiefer in die Vorladekomponente von Vue js eintauchen, eine Technik zum Herunterladen von Ressourcen, bevor der Benutzer die Seite anfordert. Wenn Sie beispielsweise feststellen, dass die meisten Benutzer Produktseiten von Kategorieseiten aus aufrufen, können Sie das Vorabladen von Produktseiten in Erwägung ziehen. Sie müssen bedenken, dass das Vorabrufen erst nach dem ersten Rendern erfolgen kann. Ein weiterer Vorteil des Prefetchings besteht darin, dass dadurch unerwünschte Folgen des Lazy Loadings ohne Leistungseinbußen vermieden werden können. Für die Implementierung müssen Sie lediglich das Tag <link rel="pre-insert" href="url" /> hinzufügen. Ziemlich einfach, oder? Dies ist jedoch bei Webpack nicht der Fall, da hier die Bundle-Namen auf Grundlage der Reihenfolge der Module generiert werden. Glücklicherweise verfügen Komponenten: ModalView: () => import(/* webpackPrefetch: true */ './ModalView.vue') } Während der Ausführung des Codes sucht Webpack nach dem magischen Kommentar und fügt im Kopfbereich <link rel="pre-insert" url="resource-url" /> hinzu. < link rel="prefetch" href="Pfad zum Block mit modaler Ansicht" rel="externes Nofollow" /> Wenn ein Benutzer ein 4. Optimieren Sie Bibliotheken von DrittanbieternWenn Sie Ihre Bundle-Größe prüfen und überrascht sind, dass sie die ideale Zahl überschreitet, liegt das nicht immer an Ihrem Code: Oft ist die Ursache die Verwendung geladener Drittanbieterbibliotheken. Ja, wir alle verwenden Bibliotheken von Drittanbietern, ohne zu wissen, welche Auswirkungen sie auf die Leistung unserer Anwendung haben. Unser Code wird wahrscheinlich nur einen Bruchteil der Bundle-Größe ausmachen. Sie können Bundlephobia verwenden, um zu verstehen, wie sich verschiedene Bibliotheken auf die Leistung auswirken. Sie müssen nur den Namen der Vuejs-Bibliothek zu dieser fantastischen Website hinzufügen und Sie erhalten eine Menge Informationen zu den Website-Daten. Ich habe beispielsweise die Bibliothek Wäre es nicht toll, mehr über Bibliotheken und ihre Auswirkungen auf die Leistung zu erfahren? Wenn Sie wissen möchten, welche VueJS-Bibliotheken einen größeren Einfluss auf Ihre VueJS-Anwendung haben, können Sie Ihre Pakete scannen, indem Sie hier klicken. Abgesehen davon habe ich verschiedene Möglichkeiten zur Analyse der Bündelgröße identifiziert. Stellen Sie sich folgende Fragen, bevor Sie sich für eine Bibliothek entscheiden:
Sehen wir uns an, wie ich damit umgehen würde, wenn ich die Vue-Bibliothek auswählen würde. Wenn mein Programm bestimmte Funktionen benötigt, möchte ich die Lodash-Bibliothek installieren. Ich weiß jedoch, wie stark die Leistung von lodash beeinträchtigt werden kann. Daher importiere ich nicht die gesamte Bibliothek, sondern nur die Funktionen. importiere isEmpty von 'lodash/isEmpty' Glauben Sie mir, eine so kleine Änderung in verschiedenen Bibliotheken wird größere und spürbarere Auswirkungen haben. Bisher haben wir die VueJS- 5. Browser-Cache nutzenÜber die Bundle-Größe haben wir bereits genug diskutiert; in diesem letzten Schritt konzentrieren wir uns auf das Zwischenspeichern von Daten. Caching ist eine Technik zum Speichern ausgewählter Daten, um bei Anforderung schnell darauf zugreifen zu können. Der Browser speichert die Daten im Speichercache, bis der Browser geschlossen wird. Kann beobachtet werden. Öffnen Sie die Entwicklertools und wählen Sie die Registerkarte „Netzwerk“. Besuchen Sie eine beliebige Website und laden Sie sie einige Male neu. Sie werden feststellen, dass einige statische Dateien wie CSS, Bilder, Da Browser das Caching ziemlich gut selbst handhaben. Sie fragen sich vielleicht: „Was können wir hinzufügen?“ Sie müssen also nur herausfinden, welche Teile Ihrer VueJS-App-Struktur sich im Vergleich zu anderen Teilen selten ändern, damit wir diese Teile zwischenspeichern können. Angenommen, die Projektstruktur ist wie folgt -
Für uns sind die gängigen Teile wichtig. Wir können alle unsere Abhängigkeiten hier haben, es ist unwahrscheinlich, dass sie sich oft ändern, und wir können es außerdem zum Zwischenspeichern von Daten verwenden. Durch die Trennung dieser Komponenten können Sie Benutzern Zeit sparen. Weitere Informationen zum Aufteilen Ihrer Abhängigkeiten in verschiedene Teile finden Sie hier. 6. Bilder optimieren und komprimierenBilder haben einen erheblichen Einfluss auf die Paketgröße Ihrer App. Wenn eine Anwendung relativ große Bilder rendert, kann dies tatsächlich die Ladezeit der Anwendung verlängern. Sie können die Art und Weise optimieren, wie Sie Bilder bereitstellen. Hierzu komprimiert man die Bilder lokal oder nutzt ein CDN. Lassen Sie uns sehen, wie wir das erreichen können - • Lokale Bilder komprimieren Wenn Ihre Anwendung aus 6–7 Bildern besteht, können Sie sie lokal bereitstellen. Bilder tragen zur Dateigröße bei. Daher ist es notwendig, Bilder zu komprimieren, um die Dateigröße zu verringern. Hier sind die 5 besten kostenlosen Online-Tools zum Komprimieren von Bildern:
• CDN-Bilder optimieren Wenn Sie mit einer Anwendung arbeiten, die viele Medien nutzt, empfiehlt es sich, Bilder auf einem CDN zu optimieren. Das CDN bietet eine Transformationsfunktion, mit der die Bildgröße um bis zu 70 % reduziert werden kann, ohne dass es zu Pixelbildung und Beeinträchtigung der Benutzeroberfläche kommt. Diese Technik eignet sich am besten, wenn Ihre Anwendung 12 bis 15 Bilder enthält. Sie können Medien über diese Plattformen verwalten -
Hier ging es also darum, wie Sie die Leistung Ihrer abschließend: Dies ist das Ende dieses Artikels über die Analyse und Lösungen zur Leistungsoptimierung von Vue.js-Anwendungen. Weitere relevante Inhalte zur Analyse der Leistungsoptimierung von Vue.js-Anwendungen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detailliertes Tutorial zur Installation von Docker auf CentOS 8
>>: Mehr als 300 Zeilen CSS-Code, um die explosiven Spezialeffekte von WeChat 8.0 zu erzielen
/etc/fstab Partitionen/Festplatten automatisch mo...
Einleitung Bisher wurden unsere Docker-Images in ...
Da es zu mühsam ist, jedes Mal das Installationst...
Die MySQL-Datenbank verfügt nicht über einen inkr...
Verwenden Sie ein Profil, um langsames SQL zu ana...
1: MySql herunterladen Offizielle Download-Adress...
Inhaltsverzeichnis Vorwort 1. GMT Was ist GMT Ges...
1. Wenn MySQL nicht erfolgreich gestartet wird, ü...
Der MySQL-Dienst wird gestartet, aber es kann kei...
1.1 Allgemeine Kennzeichnung Ein allgemeines Tag ...
Das Temperament einer Web-Frontend-Website ist ein...
In diesem Artikel wird der spezifische Code von J...
In diesem Artikel wird die Installations- und Kon...
dl: Definitionsliste Definitionsliste dt: Definiti...
Inhaltsverzeichnis Vorwort 1. 404 Seite 1. Ursach...