Heim Web-Frontend js-Tutorial So packen Sie statische Ressourcen in Vue

So packen Sie statische Ressourcen in Vue

Jun 07, 2018 pm 03:48 PM
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
Nach dem Login kopieren

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:"../../"     //添加
 })
}
Nach dem Login kopieren

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 in

erzielt

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

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.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

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.

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

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.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

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.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

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.

Vue realisiert Festzelt-/Text -Scrolling -Effekt Vue realisiert Festzelt-/Text -Scrolling -Effekt Apr 07, 2025 pm 10:51 PM

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.

Wie man Vue Pagination verwendet Wie man Vue Pagination verwendet Apr 08, 2025 am 06:45 AM

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

So verwenden Sie Funktionsabfangweserven So verwenden Sie Funktionsabfangweserven Apr 08, 2025 am 06:51 AM

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.

See all articles