So laden Sie Komponentenbibliotheken von Drittanbietern bei Bedarf in Vue3

So laden Sie Komponentenbibliotheken von Drittanbietern bei Bedarf in Vue3

Vorwort

Nehmen Sie Element Plus als Beispiel, um das Laden von Komponenten und Stilen bei Bedarf zu konfigurieren.

Umfeld

  • vue3.0.5
  • vite2.3.3

Element Plus installieren

Garn hinzufügen Element-Plus
# ODER
npm installiere element-plus --save

Vollständige Einführung

importiere { createApp } von 'vue'
importiere ElementPlus von „element-plus“;
importiere „element-plus/lib/theme-chalk/index.css“;
App aus „./App.vue“ importieren;

const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

Es ist ersichtlich, dass die JS- und CSS-Dateien von Element Plus ziemlich groß und zeitaufwändig sind.

Laden nach Bedarf

Installieren Sie das Plugin „vite-plugin-importer“

Installieren

Garn fügt Vite-Plugin-Importer hinzu
# ODER
npm installiere vite-plugin-importer --save

Auf der offiziellen Vite-Website gibt es eine Plugin-Spalte, in der Sie empfohlene Community-Plugins verwenden können


Unter diesen ist vite-plugin-importer eine Integration von babel-plugin-import, und babel-plugin-import kann Komponenten und Komponentenstile bei Bedarf laden, sodass vite-plugin-importer dies auch kann.


Konfigurieren Sie vite.config.js

importiere { defineConfig } von 'vite'
vue aus '@vitejs/plugin-vue' importieren
importiere usePluginImport von „vite-plugin-importer“

// https://vitejs.dev/config/
exportiere Standard-DefineConfig({
  Plugins: [
    vue(),
    usePluginImport({
      Bibliotheksname: "element-plus",
      benutzerdefinierterStilname: (Name) => {
        gibt `element-plus/lib/theme-chalk/${name}.css` zurück;
      },
    }),
  ],
  lösen: {
    Alias: {
      „vue“: „vue/dist/vue.esm-bundler.js“
    },
  },
})

Haupt-JS

importiere { createApp } von 'vue'
App aus „./App.vue“ importieren
importiere { ElButton, ElSelect } von 'element-plus';

const app = createApp(App)
app.komponente(ElButton.name, ElButton);
app.component(ElSelect.name, ElSelect);
app.mount('#app')

Die Verwendung von vite-plugin-importer zum Laden von Komponenten und Stilen bei Bedarf hat offensichtliche Auswirkungen.

Installieren Sie vite-plugin-style-import

Installieren

Garn hinzufügen vite-plugin-style-import -D
# ODER
npm ich vite-plugin-style-import -D

Die offizielle Website von Element Plus bietet die On-Demand-Lademethode „Vite-Plugin-Style-Import“.

Konfiguration

vite.config.js

importiere { defineConfig } von 'vite'
vue aus '@vitejs/plugin-vue' importieren
importiere StyleImport von „vite-plugin-style-import“;

// https://vitejs.dev/config/
exportiere Standard-DefineConfig({
  Plugins: [
    vue(),
    StilImport({
      Bibliotheken: [
        {
          Bibliotheksname: "element-plus",
          esModule: true,
          EnsureStyleFile: wahr,
          resolveStyle: (Name) => {
            gibt `element-plus/lib/theme-chalk/${name}.css` zurück;
          },
          resolveComponent: (Name) => {
            gibt `element-plus/lib/${name}` zurück;
          },
        },
      ],
    }),
  ],
  lösen: {
    Alias: {
      „vue“: „vue/dist/vue.esm-bundler.js“ 
    },
  },
})

Haupt-JS

importiere { createApp } von 'vue'
App aus „./App.vue“ importieren
importiere { ElButton, ElSelect } von 'element-plus';

const app = createApp(App)
app.komponente(ElButton.name, ElButton);
app.component(ElSelect.name, ElSelect);
app.mount('#app')

Wie Sie sehen, lädt vite-plugin-style-import Komponentenstile nur bei Bedarf.

Zusammenfassen

  • vite-plugin-importer kann Komponenten und Komponentenstile bei Bedarf laden.
  • vite-plugin-style-import kann Komponentenstile nur bei Bedarf laden.
  • Im Vergleich zum einmaligen Laden von Komponentenbibliotheken von Drittanbietern ist das Laden bei Bedarf besser.

Dies ist das Ende dieses Artikels darüber, wie Vue3 Komponentenbibliotheken von Drittanbietern bei Bedarf lädt. Weitere relevante Inhalte zum Laden von Vue3-Komponentenbibliotheken bei Bedarf 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:
  • Die mobile Komponentenbibliothek mint-ui von Vue.js implementiert unendliches Scrollen, um weitere Methoden zu laden
  • Lernen Sie, eine Vue-Komponentenbibliothek zu erstellen, die bei Bedarf geladen wird (Zusammenfassung)
  • So ersetzen Sie die Vue-Komponentenbibliothek durch On-Demand-Laden

<<:  Einführung in die Verwendung und den Unterschied zwischen „in“ und „exists“ in MySQL

>>:  Lösung zum Vergessen des Passworts des Pagodenpanels in Linux 3.X/4.x/5.x

Artikel empfehlen

Vue implementiert einen Login-Verifizierungscode

In diesem Artikelbeispiel wird der spezifische Co...

Installation, Aktivierung und Konfiguration von ModSecurity unter Apache

ModSecurity ist ein leistungsstarkes Paketfiltert...

Drei Möglichkeiten zum Parsen von QR-Codes mit Javascript

Inhaltsverzeichnis 1. Verwenden Sie JavaScript, u...

So stellen Sie mit Navicat Premium eine Remoteverbindung zur MySQL-Datenbank her

Derjenige, der eine neue Verbindung herstellt, en...

MySQL extrahiert interne JSON-Felder und gibt sie als Zahlen aus.

Inhaltsverzeichnis Hintergrund Problemanalyse 1. ...

So generieren Sie ein kostenloses Zertifikat mit OpenSSL

1: Was ist OpenSSL? Welche Funktion hat es? Was i...

Was ist eine HTML-Datei? So öffnen Sie eine HTML-Datei

HTML steht für Hypertext Markup Language. Heutzut...

Installation von Docker CE auf Ubuntu

Dieser Artikel dient zur Aufzeichnung der Install...

MySQL-Abfragemethode mit mehreren Bedingungen

MySQL-Abfrage mit mehreren Bedingungen Umgebung: ...

Das WeChat-Applet implementiert die Aufnahmefunktion

In diesem Artikel wird der spezifische Code für d...

So stellen Sie ein SpringBoot-Projekt mit Dockerfile bereit

1. Erstellen Sie ein SpringBoot-Projekt und packe...

So verwenden Sie xshell zum Herstellen einer Verbindung zu Linux in VMware (2 Methoden)

【Vorwort】 Ich möchte vor Kurzem das Prüfungssyste...