So packen Sie statische Ressourcen in Vue
In diesem Artikel werden hauptsächlich die Fallstricke und Lösungen bei der statischen Ressourcenverpackung von Vue vorgestellt. Jetzt werde ich es mit Ihnen teilen und Ihnen eine Referenz geben.
Dieser Artikel löst hauptsächlich das Problem
①.vue-cli-Standardkonfiguration wird gepackt und in einem bestimmten Pfad bereitgestellt, wenn der statische Ressourcenpfadfehler auftritt;
②. Nachdem statische Ressourcen mithilfe relativer Pfade gepackt wurden, führt die CSS-Datei zu einem großen Bildpfadfehlerproblem.
1. Problem
Führen Sie npm run build unter der von vue-cli scaffolding generierten Standardverpackungskonfigurationsdatei aus und stellen Sie das Projekt in einem bestimmten Pfad bereit:
/ /ip:port/public/springActivity/
Zu diesem Zeitpunkt besuchen Sie:
http://ip:port/public/springActivity/index.html
index.html OK Normaler Zugriff, aber die referenzierten JS-, CSS- und anderen Dateiserverantworten sind alle 404. Überprüfen Sie den importierten Ressourcenpfad wie folgt:
http://ip:port/static/css/app. cea07642cd24c0d7a5c4b9b7afc7ff64.css
http://ip:port/static/js/app.815851e87b083afb82bf.js
2. Analyse
Aus dem Obigen ist ersichtlich, dass der Ressourcenverpackungspfad ist falsch und die gepackten Ressourcen werden verwendet. Absoluter Stammverzeichnispfad. Wenn das Projekt also in einem bestimmten Verzeichnis bereitgestellt wird, kann der eingeführte Ressourcenpfad nicht korrekt aufgelöst werden.
3. Um das Problem zu lösen
müssen Sie beim Packen relative Pfade verwenden, um statische Ressourcen zu verarbeiten. Ändern Sie die Konfiguration des Ressourcenfreigabepfads im Build (config/index.js, Build-Objekt):
Ändern Sie assetPublicPath: '/' in assetPublicPath: './',
Verpacken Sie es erneut, stellen Sie die Ressourcen in einem bestimmten Pfad bereit und greifen Sie dann zu:
Zu diesem Zeitpunkt indizieren Auf .html kann normal zugegriffen werden, und gleichzeitig kann auch normal auf JS- und CSS-Ressourcen zugegriffen werden, aber die großen Bildressourcen im in CSS eingeführten Assets-Verzeichnis weisen einen Fehler auf (Server 404)
4 -analyze
Zeigen Sie den importierten Bildressourcenpfad wie folgt an:
http://ip:port/public/springActivity/static/css/static/img/question_bg.61a2825.png
Der Ressourcenpfad im eigentlichen Projekt lautet wie folgt:
index.html static/ |--js/ |--*.js |--css/ |--*.css |--img/ |--*.png
Offensichtlich ist der Bildimportpfad falsch. Bei der Analyse des Bildimportpfads haben wir festgestellt, dass der Pfad zwei zusätzliche Verzeichnisse hat: „/static/css“. Es wird vermutet, dass die CSS-Datei im CSS-Verzeichnis den Bildpfad nach „/static/img/question_bg.61a2825.png“ importiert. . Überprüfen Sie die CSS-Datei, css Der in eingeführte Bildpfad lautet wie folgt:
background:url(static/img/question_bg.61a2825.png)
5 Pfad in der CSS-Datei, es muss sein: Welcher Teil des Paketressourcenpfads ist nicht richtig konfiguriert? Die CSS-Datei wird zuerst von less, postcss usw. verarbeitet und dann von ExtractTextPlugin verarbeitet. Alle CSS in js werden in die Datei app.css extrahiert.
Setzen Sie zuerst options.extract auf false, deaktivieren Sie die CSS-Extraktionsfunktion, packen Sie es erneut und stellen Sie es in einem bestimmten Verzeichnis bereit. Besuchen Sie: http://ip:port/public/springActivity/index.html, bang, page Die normale Anzeige zeigt an, dass der Grand Duke kurz vor der Fertigstellung steht.
Bei der Analyse der gepackten Dateien wurde festgestellt, dass keine CSS-Datei vorhanden war und alle CSS-Dateien in der Datei app.js gefunden wurden. CSS wurde über js in die Datei index.html eingefügt, also die Bildressource Der in die CSS-Datei eingeführte Pfad sollte relativ zum Dateipfad index.html sein, d kann normal aufgerufen werden.
background:url(static/img/question_bg.61a2825.png)
Jetzt weiß ich sicher, wo das Problem liegt, nämlich: ExtractTextPlugin hat den Ressourceneinführungspfad beim Extrahieren der CSS-Datei nicht konvertiert , wodurch die App. css statische Ressourcen einführt, die relativ zum Verzeichnis app.css sind: static/css/static/img/.png.
Daher müssen Sie bei Verwendung des ExtractTextPlugin-Plug-Ins auch die Parameter des statischen Ressourcenpfads konfigurieren. Durch die Abfrage der Informationen wissen Sie, dass Sie dieses Problem durch Hinzufügen von publicPath lösen können: „../.. /":
if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', publicPath:"../../" //添加 }) }
Packaging Greifen Sie nach der Bereitstellung in einem bestimmten Verzeichnis auf die Datei index.html zu. Alles auf der Seite ist normal. Die Datei app.css wird normal importiert, und Bildressourcen werden auch normal importiert. Überprüfen Sie Die app.css-Datei zum Importieren von Bildressourcen wie folgt:
background:url( ../../static/img/question_bg.61a2825.png
Nachdem publicPath konfiguriert wurde, der Pfad Die Konfiguration wird vor dem in die CSS-Datei eingeführten Bilddateipfad hinzugefügt.
publicPath-Attributwert ist Der relative Pfad von der gepackten app.css-Datei zur index.html-Datei
Die Bildressourcen können kann auch direkt im von vue-cli generierten statischen Verzeichnis abgelegt werden, um die oben genannten Probleme zu vermeiden. Auf diese Weise kann der Bildname jedoch nicht hinzugefügt werden. Die MD5-Zeichenfolge ist der Versionskontrolle nicht förderlich.
Das Obige ist das, wofür ich kompiliert habe Ich hoffe, dass es in Zukunft für alle hilfreich sein wird:
Wie man den Animationseffekt des Abprallens vom Rand inerzielt
So verwenden Sie sass im Vue CLI Webpack (ausführliches Tutorial)
So ändern Sie den P-Tag-Textwert in jQuery
Das obige ist der detaillierte Inhalt vonSo packen Sie statische Ressourcen in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

Implementieren Sie Marquee/Text-Scrolling-Effekte in VUE unter Verwendung von CSS-Animationen oder Bibliotheken von Drittanbietern. In diesem Artikel wird die Verwendung von CSS -Animation vorgestellt: Bildlauftext erstellen und Text mit & lt; div & gt;. Definieren Sie CSS -Animationen und setzen Sie Überlauf: Versteckt, Breite und Animation. Definieren Sie Keyframes, setzen Sie Transformation: Translatex () am Anfang und am Ende der Animation. Passen Sie die Animationseigenschaften wie Dauer, Bildlaufgeschwindigkeit und Richtung an.

Pagination ist eine Technologie, die große Datensätze in kleine Seiten aufteilt, um die Leistung und die Benutzererfahrung zu verbessern. In VUE können Sie die folgende integrierte Methode zum Paging verwenden: Berechnen Sie die Gesamtzahl der Seiten: TotalPages () TRAVERSAL-Seitennummer: V-für Anweisung, um die aktuelle Seite festzulegen: aktuelle Seite

Funktionsabfangen in VUE ist eine Technik, mit der die Häufigkeit, mit der eine Funktion eingerufen wird, innerhalb eines bestimmten Zeitraums aufgerufen wird und Leistungsprobleme verhindern. Die Implementierungsmethode lautet: Importieren Sie die Lodash -Bibliothek: importieren {dunounce} aus 'lodash'; Verwenden Sie die Dabounce -Funktion, um eine Intercept -Funktion zu erstellen: const dabouncedFunction = dunounce (() = & gt; { / logical /}, 500); Rufen Sie die Abfangfunktion auf und die Steuerfunktion wird höchstens einmal in 500 Millisekunden aufgerufen.
