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

Methode zum Schreiben von bedingten Kommentaren und Beispielcode

Als Front-End-Ingenieure müssen wir mit dem IE ve...

Eine kurze Einführung in MySQL-Datenbankoptimierungstechniken

Eine ausgereifte Datenbankarchitektur ist nicht v...

Detailliertes Beispiel für die Verwendung von MySQL-Triggern

Details zur MySQL-Triggersyntax: Ein Trigger ist ...

Zusammenfassung einiger gängiger Techniken in der Front-End-Entwicklung

1. So zeigen Sie das Datum rechts in der Artikelti...

Drei Möglichkeiten zur Implementierung virtueller Hosts unter Linux7

1. Gleiche IP-Adresse, unterschiedliche Portnumme...

Detaillierte Erklärung der allgemeinen Verwendung von MySQL-Abfragebedingungen

Dieser Artikel veranschaulicht anhand von Beispie...

Detaillierte Erklärung zur Installation von MariaDB 10.2.4 auf CentOS7

CentOS 6 und frühere Versionen stellen MySQL-Serv...

Häufig verwendete englische Schriftarten für die Webseitenerstellung

Arial Arial ist eine serifenlose TrueType-Schrifta...