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