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.
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.
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.
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.
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