"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je importer des modules dynamiquement dans ES6 en fonction de variables ?

Comment puis-je importer des modules dynamiquement dans ES6 en fonction de variables ?

Publié le 2024-11-06
Parcourir:410

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

Importations ES6 sensibles aux variables

Dans ES6, l'instruction import fournit un moyen pratique d'importer des modules dans votre code. Cependant, que se passe-t-il si vous devez importer un module basé sur un nom de variable au moment de l'exécution ? Cela peut survenir dans les scénarios où vous chargez dynamiquement des modules en fonction des paramètres de configuration.

Importations statiques

Malheureusement, l'instruction d'importation dans ES6 est analysée de manière statique. Cela signifie que les modules importés doivent être connus au moment de la compilation. Par conséquent, vous ne pouvez pas utiliser de noms de variables pour spécifier les modules à importer.

API Loader

Pour charger dynamiquement des modules, vous devez utiliser l'API Loader. Cette API fournit une fonction appelée System.import() qui accepte une chaîne spécifiant le module à charger. L'exemple suivant montre comment vous pouvez l'utiliser pour charger un module basé sur un nom de variable :

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

La fonction System.import() renvoie une promesse qui résout le module chargé. Vous pouvez ensuite accéder aux membres exportés du module à l'aide de l'objet module.

Considérations de compatibilité

L'API Loader est prise en charge dans les navigateurs modernes et Node.js. Cependant, vous devrez peut-être utiliser un polyfill pour obtenir la compatibilité avec les anciens navigateurs.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3