Heim > Web-Frontend > js-Tutorial > Hauptteil

So teilen Sie den Seitencode auf und laden ihn bei Bedarf

php中世界最好的语言
Freigeben: 2018-05-02 13:41:19
Original
2148 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie den Seitencode aufteilen und bei Bedarf laden. Was sind die Vorsichtsmaßnahmen für das Aufteilen und Laden bei Bedarf? ein Blick.

Konfiguration ändern

Entwicklungsumgebung: webpack@v3, React-Router@v4

InstallationAbhängigkeiten:

$ yarn add babel-plugin-syntax-dynamic-import -dev
Nach dem Login kopieren

Ändern Sie die .babelrc-Datei: Fügen Sie „syntax-dynamic-import“ in Plugins hinzu

Ändern Sie den Projektcode

Installieren Sie Abhängigkeiten:

$ yarn add react-loadable
Nach dem Login kopieren

Laut der React-Loadable-Dokumentation müssen wir beim Laden einer neuen Seite eine Loading-Komponente bereitstellen und außerdem verschiedene Eingabeaufforderungen für den Lade- und Timeout-Status bereitstellen:

import React from 'react';
import { Icon } from 'antd';
const Loading = ({ pastDelay, timedOut, error }) => {
 if (pastDelay) {
 return <p><Icon type="loading" /></p>;
 } else if (timedOut) {
 return <p>Taking a long time...</p>;
 } else if (error) {
 return <p>Error!</p>;
 }
 return null;
};
Nach dem Login kopieren

Ändern Sie die Importmethode der Seitenkomponente:

import React from 'react';
import Loadable from 'react-loadable';
import { Route, Switch } from 'react-router-dom';
const Home = Loadable({
 loader: () => import('../Home'),
 loading: Loading,
 timeout: 10000
});
const EditArticle = Loadable({
 loader: () => import('../EditArticle'),
 loading: Loading,
 timeout: 10000
});
...
<Switch>
 <Route exact path="/home" component={Home} />
 <Route path="/editarticle" component={EditArticle} />
</Switch>
Nach dem Login kopieren

Dann werden die Verpackungsergebnisse die Codes jeder Seite trennen:

Auf der Seite müssen wir nur die Eintragsdatei-App laden .js, andere Skripte sind in Diese Datei wird geladen, wenn die entsprechende Seite aufgerufen wird.

Überprüfungsergebnisse

Nachdem Sie die statischen Ressourcen auf CDN hochgeladen haben, laden Sie app.css und app.js auf die Seite und greifen Sie nach der Ausführung darauf zu Jede Seite lädt nacheinander das entsprechende Skript. Das Ergebnis ist wie in der Abbildung dargestellt:

Wie Sie sehen können, wird das Seitenskript beim Besuch der ersten Seite geladen nur 21,8 KB nach gzip-Komprimierung! ! ! Dies hängt natürlich auch mit der Komplexität der Seite zusammen, im Vergleich zum Laden aller Skripte ist diese jedoch stark reduziert. Diese Optimierung fällt insbesondere Benutzern mit sehr gezieltem Zugriff auf.

Ein weiterer Vorteil dieser Vorgehensweise besteht darin, dass der Code anderer Seiten unverändert bleibt, wenn wir nur den Geschäftscode einiger Seiten im Projekt ändern, sodass zu diesem Zeitpunkt andere Seiten Client-Caching verwenden gemacht worden.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Verwendung von Slot-Sockets in Vue-Komponenten

Schritte zur Implementierung von js same- Ursprungsrichtlinie und domänenübergreifender Zugriff Detaillierte Erklärung

Das obige ist der detaillierte Inhalt vonSo teilen Sie den Seitencode auf und laden ihn bei Bedarf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!