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

So verwenden Sie ECharts in WeChat Mini-Programmen mit uniapp

Heute verwenden wir Uniapp, um Echarts zur Anzeig...

Der Fallstrickrekord des Gummi-Rebound-Effekts der iOS WeChat H5-Seite

Geschäftliche Anforderungen Eines der Projekte, d...

Was ist ein MySQL-Index? Fragen Sie, wenn Sie es nicht verstehen

Inhaltsverzeichnis Überblick Vom Binärbaum zum B+...

Bedeutung und Verwendung einer Linux-CD

Was bedeutet Linux-CD? Unter Linux bedeutet cd „V...

So fragen Sie den minimal verfügbaren ID-Wert in der MySQL-Tabelle ab

Als ich mir heute die Laborprojekte ansah, stieß ...

js Promise-Methode zur gleichzeitigen Steuerung

Inhaltsverzeichnis Frage Hintergrund Idee & U...

Einführung in die Verwendung von Alt- und Titelattributen von HTML-Img-Tags

Wenn Browser-Anbieter die Standards umgehen und ei...

CentOS7-Installations-Tutorial für Zabbix 4.0 (Abbildung und Text)

Deaktivieren Sie SeLinux setenforce 0 Dauerhaft g...

Vue implementiert Multi-Grid-Eingabefeld auf mobilem Endgerät

Vor Kurzem hat das Unternehmen die Anforderung ge...

WeChat-Applet implementiert Taschenrechnerfunktion

WeChat-Miniprogramme erfreuen sich immer größerer...