Aprenda esta nueva característica próxima a aparecer en JavaScript
Nunca tuve el privilegio de usar importaciones dinámicas hasta hace muy poco, cuando las usé para potenciar la división de código en una aplicación Next.js, y tuve que investigar un poco porque son ligeramente diferentes de las importaciones estáticas .
Una importación estática de una exportación predeterminada de un módulo ES se ve así:
import moment from 'moment'
Puede utilizar la desestructuración de objetos para obtener una exportación con nombre:
import { format } from 'date-fns'
Las importaciones estáticas tienen algunos límites:
- Están limitados al nivel superior del archivo.
- No se pueden cargar condicionalmente (dentro de un
if
) - El nombre del paquete no se puede determinar en el momento de la ejecución.
¡Las importaciones dinámicas pueden hacer todas esas cosas!
La sintaxis es un poco diferente.
Y trabajan dentro de módulos .
Los utilizas así:
const module = await import('module')
y para utilizar la exportación predeterminada, primero debes llamar a .default()
.Te recomendamos Curiosidades y tops de internet
Ejemplo utilizando momento:
const moment = (await import('moment')).default()
Por otra parte, las importaciones con nombre funcionan como se espera:
const { format } = await import('date-fns')
¿Puedes usarlos hoy? ¡Sí! La compatibilidad con navegadores ya es bastante buena y también hay un complemento de Babel .
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Importaciones dinámicas de JavaScript
Nunca tuve el privilegio de usar importaciones dinámicas hasta hace muy poco, cuando las usé para potenciar la división de código en una aplicación Next.j
programar
es
2025-01-22

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente