Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie vue-cli und webpack mit statischen Ressourcen umgehen

小云云
Freigeben: 2018-05-15 16:18:37
Original
2057 Leute haben es durchsucht

Verarbeitung statischer Ressourcen

Sie bemerken möglicherweise, dass wir in Projekten, die Vue-Cli mit Webpack kombinieren, normalerweise zwei statische Ressourcenpfade haben: src/assets und static/ , was ist das? Unterschied zwischen ihnen? In diesem Artikel wird hauptsächlich die Kombination von Vue-Cli und Webpack für den Umgang mit statischen Ressourcen vorgestellt. Der Herausgeber hält dies für recht gut, daher werde ich es jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber, um einen Blick darauf zu werfen. Ich hoffe, es kann allen helfen.

Gepackte Ressourcen

Um diese Frage zu beantworten, müssen wir zunächst verstehen, wie Webpack mit statischen Ressourcen umgeht. In der *.vue-Komponente werden alle Vorlagen und CSS-Module von vue-html-loader und css-loader analysiert, um die Pfad-URL zu finden.

Zum Beispiel ist „./logo.png“ in ein relativer Pfad, der geladen wird als Abhängigkeit von Webpack.

Aber da logo.png kein JavaScript ist und es als abhängige Blume betrachtet wird, müssen wir es über den URL-Loader und den Datei-Loader analysieren. Diese Vorlage hat den entsprechenden Loader bereits für Sie konfiguriert, sodass Sie sich normalerweise keine Gedanken über Probleme bei der relativen Pfadbereitstellung machen müssen.

Auch wenn diese Ressourcen während des Build-Prozesses eingebunden/kopiert/umbenannt werden, sind sie immer noch ein wichtiger Teil des Quellcodes. Aus diesem Grund empfehlen wir, statische Ressourcen wie andere Ressourcenordner in einem separaten Ordner /src abzulegen.

Tatsächlich müssen Sie sie nicht alle in /src/assets ablegen, sondern können sie nach Modulen/Komponenten organisieren und nutzen. Beispielsweise können Sie beliebige Komponenten in einem eigenen Verzeichnis ablegen und statische Ressourcen in diesem Verzeichnis speichern.

Regeln zur Ressourceneinführung

Relative Pfade wie ./assets/logo.png werden in Modulabhängigkeiten analysiert. Sie werden durch eine automatisch generierte URL ersetzt, die auf Ihrer Webpack-Ausgabekonfiguration basiert.

Ein Pfad ohne Präfix, wie zum Beispiel asset/logo.png, ist dasselbe wie ein relativer Pfad und wird in ./assets/logo.png maskiert

Ein Pfad mit einem ~-Präfix. ~ wird als Modulanforderung betrachtet, genau wie require('some-module/image.png'). Stammpfad, z. B. /assets/log.png

Ressourcenpfad in JavaScript abrufen

computed: {
 background () {
  return require('./bgs/' + this.id + '.jpg')
 }
}
Nach dem Login kopieren

Dieser Ressourcenpfad wird auch per Datei verarbeitet -loader und gibt dann den verarbeiteten Pfad zurück. Und Webpack lädt alle Bilder im BGS-Verzeichnis auf einmal.

"Echte" statische Ressourcen

Im Gegensatz dazu wird keine der Dateien in static/ von Webpack verarbeitet. Sie werden direkt in den Zielordner kopiert und es müssen absolute Pfade verwendet werden, um auf diese Dateien zu verweisen.

Verwandte Empfehlungen:

Beispiele für das Laden statischer Ressourcenpfade und -konstanten in thinkphp5

JavaScript-Tutorial zur Verarbeitung statischer Ressourcendateianforderungen Methode

10 empfohlene Artikel über statische Ressourcen

Das obige ist der detaillierte Inhalt vonWie vue-cli und webpack mit statischen Ressourcen umgehen. 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!