„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Module basierend auf Variablen dynamisch in ES6 importieren?

Wie kann ich Module basierend auf Variablen dynamisch in ES6 importieren?

Veröffentlicht am 06.11.2024
Durchsuche:918

How Can I Import Modules Dynamically in ES6 Based on Variables?

Variablenfähige ES6-Importe

In ES6 bietet die Importanweisung eine praktische Möglichkeit, Module in Ihren Code zu importieren. Was aber, wenn Sie zur Laufzeit ein Modul basierend auf einem Variablennamen importieren müssen? Dies kann in Szenarien auftreten, in denen Sie Module basierend auf Konfigurationseinstellungen dynamisch laden.

Statische Importe

Leider wird die Importanweisung in ES6 statisch analysiert. Das bedeutet, dass die zu importierenden Module zur Kompilierungszeit bekannt sein müssen. Daher können Sie keine Variablennamen verwenden, um zu importierende Module anzugeben.

Loader-API

Um Module dynamisch zu laden, müssen Sie die Loader-API verwenden. Diese API stellt eine Funktion namens System.import() bereit, die eine Zeichenfolge akzeptiert, die das zu ladende Modul angibt. Das folgende Beispiel zeigt, wie Sie damit ein Modul basierend auf einem Variablennamen laden können:

System.import('./utils/'   variableName).then(function(module) {
  console.log(module);
});

Die Funktion System.import() gibt ein Versprechen zurück, das in das geladene Modul aufgelöst wird. Anschließend können Sie über das Modulobjekt auf die exportierten Mitglieder des Moduls zugreifen.

Kompatibilitätsüberlegungen

Die Loader-API wird in modernen Browsern und Node.js unterstützt. Möglicherweise müssen Sie jedoch eine Polyfüllung verwenden, um Kompatibilität mit älteren Browsern zu erreichen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3