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

Zusammenfassung der Linux Logical Volume Management (LVM)-Nutzung

Die Verwaltung des Speicherplatzes ist für System...

So betten Sie Dateien im Flash-Videoformat (FLV, SWF) in HTML-Dateien ein

Flash-Dateiformate: .FLV und .SWF Für das Flash-Vi...

Navicat importiert CSV-Daten in MySQL

In diesem Artikel erfahren Sie, wie Sie mit Navic...

Pull-Down-Aktualisierung und Pull-Up-Ladekomponenten basierend auf Vue-Kapselung

Basierend auf Vue und nativer JavaScript-Kapselun...

Lösung für das Fehlen der my.ini-Datei in MySQL 5.7

Was ist my.ini? my.ini ist die in der MySQL-Daten...

So sperren Sie eine virtuelle Konsolensitzung unter Linux

Wenn Sie an einem gemeinsam genutzten System arbe...

CSS-Implementierungscode für verzerrte Schatten

Dieser Artikel stellt den Implementierungscode vo...

Detaillierte Erläuterung der geplanten MySQL-Aufgaben (Ereignisereignisse)

1. Kurze Einführung in die Veranstaltung Ein Erei...

So lösen Sie das Problem des verstümmelten MySQL-Inserts

Problembeschreibung: Beim Einfügen chinesischer Z...

Dieser Artikel zeigt Ihnen, wie Sie mit CSS-Kombinationsselektoren spielen

CSS-Kombinationsselektoren umfassen verschiedene ...

Analyse und Anwendung des Wasserfallflussprinzips unregelmäßiger Bilder

Das im Projekt aufgetretene Layoutproblem unregel...