So importieren Sie eine JS-Konfigurationsdatei auf den Vue-Server

So importieren Sie eine JS-Konfigurationsdatei auf den Vue-Server

Hintergrund

Es gibt eine lokale Konfigurationsdatei im Projekt:

// src/bildposition.js
Standard exportieren {
    Bezeichnung: 'Homepage',
    Wert: 'home',
    Daten: [
      {
        Beschriftung: 'Karussell',
        Wert: „Karussell“
      }
    ]
}

Jeder weiß, wie man auf eine lokale Datei verweist:

Importieren Sie ImagePosition aus „./image-position.js“.

Jetzt müssen Sie die Datei image-position.js auf dem Server ablegen und den Link dazu abrufen:

xxx.com/static/imag…

Eine direkte Angabe der Dateiadresse ist Ihnen derzeit natürlich nicht möglich.

importiere ImagePosition von 'https://xxx.com/static/image-position.js'

// FEHLER Diese Abhängigkeit wurde nicht gefunden

erreichen

Nehmen Sie zunächst eine kleine Änderung an image-position.js vor, um ein globales Objekt ImagePosition verfügbar zu machen

// Geänderte image-position.js

(Funktion (global, Fabrik) {
  Typ der Exporte === 'Objekt' und Typ des Moduls !== 'undefiniert' 
    ? module.exports = fabrik() 
    : Typ der Definition === 'Funktion' und definition.amd 
    ? definieren(Fabrik) 
    : (global = global || selbst, global.Bildposition = Fabrik());
}(diese, (Funktion () {
  „streng verwenden“;
  
  zurückkehren {
    Bezeichnung: 'Homepage',
    Wert: 'home',
    Daten: [
      {
        Beschriftung: 'Karussell',
        Wert: „Karussell“
      }
    ]
  };
})));

Fügen Sie externe Elemente zur Datei vue.config.js hinzu.

modul.exporte = {
  konfigurierenWebpack: config => {
    config.externals = {
      'Bildposition': 'Bildposition'
   }
  }
}

index.html unterscheidet die Umgebung und importiert JS-Dateien.

// öffentlich/index.html
<!DOCTYPE html>
<html>
  <Kopf>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-kompatibel" content="IE=edge,chrome=1">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1, Maximalmaßstab=1, Benutzerskalierung=nein">
    <Titel><%= htmlWebpackPlugin.options.title %></Titel>
  </Kopf>
  <Text>
    <div id="app"></div>
    <!-- erstellte Dateien werden automatisch eingefügt -->
    <% wenn (NODE_ENV == 'Produktion') { %>
      <script src="http://xxx.com/static/image-position.js"></script>
    <% } sonst { %>
      <script src="http://test.xxx.com/static/image-position.js"></script>
    <% } %>
  </body>
</html>

Nachdem Sie die obigen Schritte abgeschlossen haben, können Sie problemlos auf die Datei image-position.js verweisen.

importiere ImagePosition aus „Bildposition“
console.log(Bildposition)
// {label: 'Home', value: 'home', data: [{label: 'Karussell', value: 'Karussell'}]}

Ergänzung zur Konfiguration unter vue-cli2.0

// build/webpack.base.conf.js
modul.exporte = {
  Äußerlichkeiten: {
    // Füge „Bildposition“ hinzu: „Bildposition“
  }
}
// index.html
<!DOCTYPE html>
<html>
  <Kopf>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-kompatibel" content="IE=edge,chrome=1">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1, Maximalmaßstab=1, Benutzerskalierung=nein">
    <Titel><%= htmlWebpackPlugin.options.title %></Titel>
  </Kopf>
  <Text>
    <div id="app"></div>
    <!-- erstellte Dateien werden automatisch eingefügt -->
    <% wenn (Prozess.Umgebung == 'Produktion') { %>
      <script src="http://xxx.com/static/image-position.js"></script>
    <% } sonst { %>
      <script src="http://test.xxx.com/static/image-position.js"></script>
    <% } %>
  </body>
</html>

Zusammenfassen

Bei der Optimierung des Verpackungsvolumens von Vue-Projekten ist CDN-Beschleunigung eine häufig verwendete Methode. Das Obige ist tatsächlich der Implementierungsinhalt der CDN-Beschleunigung. Die Drittanbieterbibliothek wird über das Skript-Tag eingeführt, wodurch die Größe der gepackten vendor.js-Datei erheblich reduziert wird.

Wenn wir lokale Dateien remote auf einem Server platzieren möchten, liegt der Schlüssel im ersten Schritt des Implementierungsprozesses. Der restliche Inhalt ist derselbe wie beim Konfigurieren der CDN-Beschleunigung.

Oben finden Sie Einzelheiten dazu, wie Vue die JS-Konfigurationsdatei auf den Server importiert. Weitere Informationen zum Importieren der JS-Konfigurationsdatei durch Vue finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Beheben Sie das Problem, dass Vue-cli3 keinen vue.config.js-Ordner hat und konfigurieren Sie den Domänennamen des Vue-Projekts
  • So konfigurieren Sie vue.config.js zur Verarbeitung statischer Dateien im statischen Ordner
  • Beschreibung und Regeleinführung der Eslint-Konfigurationsdatei eslintrc.js von Vue
  • Im Build-Ordner von Vue-CLI gibt es keine Datei dev-server.js zum Konfigurieren von Mock-Daten.
  • Detaillierte Erläuterung der Tool-Konfigurationsdatei utils.js im Vue-CLI-Scaffolding-Build-Verzeichnis
  • Methode der Konfigurationsdatei index.js im Konfigurationsverzeichnis des Vue-CLI-Scaffoldings
  • Detaillierte Erklärung der Konfigurationsdatei dev-server.js im vue-cli-Scaffolding-Build-Verzeichnis
  • Detaillierte Erklärung der ESlint-Konfigurationsdatei eslintrc.js in vue-cli

<<:  Zeigen Sie die Anzahl der Dateien in jedem Unterordner eines angegebenen Ordners in Linux an

>>:  Beispiel zum Hochladen eines Docker-Images in ein privates Repository

Artikel empfehlen

JavaScript+HTML zur Implementierung eines Studenteninformationsmanagementsystems

Inhaltsverzeichnis 1. Einleitung 2. Rendern 3. Co...

So rufen Sie das Kennwort für MySQL 8.0.22 auf dem Mac ab

Neueste Version von MySQL 8.0.22 zur Kennwortwied...

vue.js lädt Bilder entsprechend der Bild-URL herunter

Als ich kürzlich an einem Frontend-Docking-Funkti...

So aktivieren Sie TLS- und CA-Authentifizierung in Docker

Inhaltsverzeichnis 1. Zertifikat generieren 2. Ak...

So unterstützen Sie vollständiges Unicode in MySQL/MariaDB

Inhaltsverzeichnis Einführung in utf8mb4 Fehler b...

Versionsnummern in CSS- und JS-Links in HTML (Cache aktualisieren)

Hintergrund Suchen Sie in der Suchmaschine nach d...

Lösung für das Problem, dass das Vue-Seitenbild nicht angezeigt wird

Als ich eine neue Version der Konfigurationsschni...

Detaillierte Erläuterung der 4 gängigen Datenquellen in Spark SQL

Allgemeine Lade-/Schreibmethoden Optionen manuell...

Detaillierte Erklärung der MySQL-Partitionstabelle

Vorwort: Partitionierung ist ein Tabellenentwurfs...

Beispielanalyse der Verwendung von GROUP_CONCAT in MySQL

Dieser Artikel beschreibt anhand eines Beispiels ...

Lösung für das Problem „Linux QT Kit fehlt“ und „Version leer“

Derzeit tritt ein solches Problem auf Bei mir war...