Maison  >  Article  >  interface Web  >  Pouvons-nous importer des modules ES6 avec des noms de variables dynamiques ?

Pouvons-nous importer des modules ES6 avec des noms de variables dynamiques ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 07:35:29734parcourir

 Can We Import ES6 Modules with Dynamic Variable Names?

Personnalisation des importations de modules ES6 avec des noms de variables variables

Introduction :

Dans ES6, l'instruction import nous permet d'importer modules et fournir des exportations par défaut avec des noms spécifiques. Cependant, pouvons-nous attribuer un nom de variable à un module importé en fonction des valeurs d'exécution ?

Question :

Est-il possible d'importer des modules avec des noms de variables pendant l'exécution en utilisant le Instruction d'importation ES6, similaire à ce modèle :

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

Réponse :

Malheureusement, cette syntaxe n'est pas valide pour les instructions d'importation ES6. Les importations et les exportations dans ES6 sont analysables de manière statique et ne peuvent pas dépendre des informations d'exécution.

Approche alternative :

Pour obtenir un comportement d'importation dynamique, vous pouvez utiliser l'API du chargeur (polyfill ), qui propose une méthode appelée 'System.import'. Cette méthode prend un spécificateur de module comme argument et renvoie une promesse qui se résout au module importé :

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

Notez que la compatibilité et la prise en charge de l'API du chargeur varient selon les plates-formes et les navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn