Heim  >  Artikel  >  Web-Frontend  >  Können wir ES6-Module mit dynamischen Variablennamen importieren?

Können wir ES6-Module mit dynamischen Variablennamen importieren?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 07:35:29734Durchsuche

 Can We Import ES6 Modules with Dynamic Variable Names?

Anpassen von ES6-Modulimporten mit variablen Variablennamen

Einführung:

In ES6 ermöglicht uns die Importanweisung den Import Module und stellen Standardexporte mit bestimmten Namen bereit. Können wir einem importierten Modul jedoch basierend auf Laufzeitwerten einen Variablennamen zuweisen?

Frage:

Ist es möglich, Module mit Variablennamen während der Laufzeit mit dem zu importieren ES6-Importanweisung, ähnlich diesem Muster:

<code class="javascript">import something from './utils/' + variableName;</code>

Antwort:

Leider ist diese Syntax für ES6-Importanweisungen nicht gültig. Importe und Exporte in ES6 sind statisch analysierbar und können nicht von Laufzeitinformationen abhängen.

Alternativer Ansatz:

Um ein dynamisches Importverhalten zu erreichen, können Sie die Loader-API (Polyfill) verwenden ), die eine Methode namens „System.import“ bietet. Diese Methode verwendet einen Modulspezifizierer als Argument und gibt ein Versprechen zurück, das in das importierte Modul aufgelöst wird:

<code class="javascript">System.import('./utils/' + variableName).then(function(m) {
  console.log(m);
});</code>

Beachten Sie, dass die Kompatibilität und Unterstützung für die Loader-API je nach Plattform und Browser unterschiedlich ist.

Das obige ist der detaillierte Inhalt vonKönnen wir ES6-Module mit dynamischen Variablennamen importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn