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:
<code class="javascript">System.import('./utils/' + variableName).then(function(module) { console.log(module); });</code>
Die Funktion System.import() gibt ein Versprechen zurück, das in das geladene Modul aufgelöst wird. Anschließend können Sie mithilfe des Modulobjekts 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.
Das obige ist der detaillierte Inhalt vonWie kann ich Module basierend auf Variablen dynamisch in ES6 importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!