VorwortNachdem das Vue-Projekt entwickelt wurde, ist vor dem Verpacken und Freigeben des Projekts die Projektoptimierung ein wesentlicher Vorgang, der auch für Programmierer von Vorteil ist. Befolgen Sie die Schritte in diesem Artikel, um zu erfahren, wie Sie das Projekt optimieren können~ 1. Routing von Lazy Loading 1. Warum brauchen wir Lazy Loading von Routen? Als ich das Projekt gerade ausführte, stellte ich fest, dass alle JS- und CSS-Dateien geladen wurden, sobald ich die Seite aufrief. Dieser Vorgang war sehr zeitaufwändig. 2. So implementieren Sie das Lazy Loading von RoutenOffizielle Vue-Dokumentation: Routing Lazy Loading Der Code lautet wie folgt (Beispiel): { Pfad: '/login', Komponente: () => import('@/views/login/index'), versteckt: wahr }, 3. Magische Kommentare beim Lazy Loading von RoutenSie können den Namen dieser Datei anpassen, indem Sie im Kommentar „webpackChunkName“ angeben. Der Code lautet wie folgt (Beispiel): Komponenten = () => import(/* webpackChunkName:"login"*/ "../Komponente/Login.vue") 2. Analysieren Sie die Paketgröße 1. NachfrageIch möchte die Größe jeder Datei in der gepackten Datei wissen. Damit wir den Code analysieren und optimieren können. 2. So generieren Sie Paketanalysedateien Führen Sie npm run preview -- --report im Terminal aus. Dieser Befehl führt eine Abhängigkeitsanalyse von unserem Einstiegspunkt main.js aus und analysiert die Größe jedes Pakets. Schließlich wird im generierten dist-Ordner eine Datei report.html generiert. Nach dem Öffnen können Sie den Speicherplatz sehen, den die in unserem Projekt verwendeten Dateien belegen. 3. Die Webpack-Konfiguration schließt die Verpackung aus 1. NachfrageSchließen Sie einige selten verwendete Pakete aus den generierten Paketdateien aus. Beispielsweise können die in der obigen Abbildung gezeigten xsxl.js und element.js aus den generierten Dateien ausgeschlossen werden. 2. Verpackung ausschließenSuchen Sie nach vue.config.js und fügen Sie das externe Element wie folgt hinzu: Der Code lautet wie folgt (Beispiel): konfigurierenWebpack: { //Konfigurieren Sie den Titel der Single Page Application-Seite Name: Name, Äußerlichkeiten: { /** * Analyse externer Objektattribute. * Grundformat: * 'Paketname': 'Der im Projekt eingeführte Name' * */ 'vue': 'Ansicht', 'element-ui': 'ElementUI', 'xlsx': 'XLSX' }, lösen: { Alias: { '@': auflösen('src') } } } IV. Zitieren von Online-Ressourcen 1. NachfrageNachdem wir den vorherigen Schritt ausgeführt hatten, war das generierte Paket viel kleiner. Ohne diese abhängigen Pakete kann das Projekt jedoch nicht online ausgeführt werden. Dann müssen wir auf Ressourcen im Netzwerk verweisen, um den Betrieb unseres Codes zu unterstützen. 2. CDN
Nutzen:
3. Schritte zur UmsetzungHinweis: In der Entwicklungsumgebung können Dateiressourcen weiterhin aus den lokalen node_modules übernommen werden. Erst wenn das Projekt online ist, müssen Sie auf externe Ressourcen zurückgreifen. An dieser Stelle können wir zur Unterscheidung Umgebungsvariablen verwenden. Die Einzelheiten lauten wie folgt: Der Code lautet wie folgt (Beispiel): In der Datei vue.config.js: lass Externe = {} lass cdn = { css: [], js: [] } const isProduction = process.env.NODE_ENV === 'production' // Bestimmen Sie, ob es sich um eine Produktionsumgebung handelt, if (isProduction) { Externe = { /** * Analyse der Objektattribute externer Objekte: * 'Paketname': 'Der im Projekt eingeführte Name' */ 'vue': 'Ansicht', 'element-ui': 'ELEMENT', 'xlsx': 'XLSX' } cdn = { CSS: [ 'https://unpkg.com/element-ui/lib/theme-chalk/index.css' // Element-UI-CSS-Stylesheet], java.js: [ // vue muss am Anfang stehen! 'https://unpkg.com/[email protected]/dist/vue.js', // vuejs 'https://unpkg.com/element-ui/lib/index.js', // element-ui js 'https://cdn.jsdelivr.net/npm/[email protected]/dist/xlsx.full.min.js', // xlsx ] } } Webpack-Konfiguration, externe Konfigurationselemente konfigurierenWebpack: { //Konfigurieren Sie den Titel der Single Page Application-Seite Name: Name, Äußerlichkeiten: Äußerlichkeiten, lösen: { Alias: { '@': auflösen('src') } } } Über das HTML-Webpack-Plugin in index.html eingefügt: Konfigurieren Sie in der Datei vue.config.js: chainWebpack(Konfiguration) { config.plugin('preload').tap(() => [ { rel: 'Vorladen', DateiBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/], einschließen: 'initial' } ]) //CDN-Variable einfügen (wird beim Verpacken ausgeführt) config.plugin('html').tap(args => { args[0].cdn = cdn // Konfiguriere cdn für das Plugin, um Argumente zurückzugeben }) // Den Rest weglassen... } Suchen Sie nach public/index.html und fügen Sie nacheinander CSS und JS ein, indem Sie die CDN-Konfiguration konfigurieren. Ändern Sie den Inhalt des Kopfes wie folgt: <Kopf> <meta charset="utf-8"> <meta http-equiv="X-UA-kompatibel" content="IE=edge,chrome=1"> <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1, Maximalmaßstab=1, Benutzerskalierung=nein"> <link rel="Symbol" href="<%= BASE_URL %>favicon.ico"> <Titel><%= webpackConfig.name %></Titel> <!-- Stil importieren --> <% für (var css von htmlWebpackPlugin.options.cdn.css) { %> <link rel="stylesheet" href="<%=css%>"> <% } %> <!-- JS importieren --> <% für (var js von htmlWebpackPlugin.options.cdn.js) { %> <script src="<%=js%>"></script> <% } %> </Kopf> 5. Packen und entfernen Sie console.log 1. NachfrageNachdem das Projekt verpackt und gestartet wurde, entfernen Sie alle console.log im Code 2. Code-DemonstrationKonfigurieren Sie in der Datei vue.config.js: Der Code lautet wie folgt (Beispiel): chainWebpack(Konfiguration) { config.optimization.minimizer('terser').tap((args) => { args[0].terserOptions.compress.drop_console = true Argumente zurückgeben }) } ZusammenfassenDamit ist dieser Artikel über die wesentlichen Bonuselemente für das Front-End der Vue-Projektoptimierung und -verpackung abgeschlossen. Weitere relevante Inhalte zur Vue-Projektoptimierung und -verpackung finden Sie in früheren Artikeln auf 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:
|
So installieren und konfigurieren Sie mysql-5.7.5...
Ein Zustandsübergangsdiagramm eines Docker-Contai...
Die Belastung wird im Allgemeinen während des Sys...
Manche Leute verwenden diese drei Tags auf pervers...
Bevor Sie diesen Artikel lesen, hoffe ich, dass S...
Vor ein paar Tagen habe ich mir ein Video von ein...
Kürzlich habe ich MySQL verwendet, um Tabellendat...
Da ich normalerweise den Befehl „Docker Build“ ve...
Inhaltsverzeichnis Als Attribut- und Eigenschafts...
Dieser Artikel veranschaulicht anhand von Beispie...
Kommen wir ohne weitere Umschweife direkt zum Cod...
Vorwort Dieser Artikel stellt hauptsächlich die r...
1. Mindmap 2. So bauen Sie einen Container 2.1 Vo...
Inhaltsverzeichnis 1. Array-Induktion 1. Teilen S...
Hintergrundanforderungen: Mit zunehmender Größe d...