"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo importar módulos dinámicamente en ES6 en función de variables?

¿Cómo puedo importar módulos dinámicamente en ES6 en función de variables?

Publicado el 2024-11-06
Navegar:811

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

Importaciones de ES6 con reconocimiento de variables

En ES6, la declaración de importación proporciona una manera conveniente de importar módulos a su código. Sin embargo, ¿qué sucede si necesita importar un módulo basado en un nombre de variable en tiempo de ejecución? Esto puede surgir en escenarios en los que carga módulos dinámicamente según los ajustes de configuración.

Importaciones estáticas

Desafortunadamente, la declaración de importación en ES6 se analiza estáticamente. Esto significa que los módulos que se importan deben conocerse en el momento de la compilación. Por lo tanto, no puede usar nombres de variables para especificar módulos a importar.

API del cargador

Para cargar módulos dinámicamente, necesita usar la API del cargador. Esta API proporciona una función llamada System.import() que acepta una cadena que especifica el módulo que se va a cargar. El siguiente ejemplo muestra cómo puede usarlo para cargar un módulo basado en un nombre de variable:

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

La función System.import() devuelve una promesa que se resuelve en el módulo cargado. Luego puede acceder a los miembros exportados del módulo utilizando el objeto del módulo.

Consideraciones de compatibilidad

La API Loader es compatible con navegadores modernos y Node.js. Sin embargo, es posible que necesites utilizar un polyfill para lograr compatibilidad con navegadores más antiguos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3