POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Cuándo usar import * as y no import

Importaciones en JavaScript y TypeScript: cuándo usar import * as x frente a import x según ES Modules y CommonJS

Publicado el 15/09/2025

Cuando trabajas con JavaScript o TypeScript aparece con frecuencia la duda de cuándo usar import * as y cuándo usar import. La diferencia no es caprichosa sino que depende del sistema de módulos y de la configuración del compilador TypeScript.

Sistemas de módulos: CommonJS frente a ES Modules. CommonJS es el sistema clásico de Node.js que utiliza require y module.exports. Muchas librerías antiguas como Moment.js, PDFKit o Lodash siguen este estilo. ES Modules es el estándar moderno que usa import y export por defecto.

Qué hace import * as x. Al escribir import * as moment from moment importas todo el objeto del módulo y lo asignas a la variable moment. Esta forma es segura y funciona siempre con paquetes CommonJS y con módulos ESM, por eso muchos proyectos legacy la usan.

Qué hace import x. Al escribir import moment from moment intentas traer el export default del módulo. En librerías escritas como ES Modules esto funciona de forma natural. Con paquetes CommonJS solo funcionará si en TypeScript se activan opciones que simulan un default export, por ejemplo activar esModuleInterop y allowSyntheticDefaultImports en el tsconfig.

Práctica con ejemplos. Para Moment.js puedes usar import * as moment from moment en proyectos con esModuleInterop desactivado, o usar import moment from moment si has activado esModuleInterop. Lo mismo aplica a Lodash o a PDFKit: import * as _ from lodash es la forma universal, import _ from lodash es la forma limpia que requiere interoperabilidad.

Recomendaciones. Para proyectos nuevos lo habitual es activar esModuleInterop y allowSyntheticDefaultImports y usar la sintaxis limpia import paquete from paquete. Para proyectos heredados o con settings estrictos conviene mantener import * as paquete from paquete para garantizar compatibilidad con CommonJS. Para librerías modernas escritas como ES Modules utiliza siempre import paquete from paquete.

En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, abordamos estas decisiones de arquitectura en cada proyecto de software a medida para garantizar compatibilidad y mantenibilidad. Si necesitas crear aplicaciones a medida que integren inteligencia artificial, ciberseguridad y servicios cloud aws y azure, podemos ayudarte a elegir la mejor configuración técnica y a implementar prácticas recomendadas.

Ofrecemos servicios de inteligencia de negocio y Power BI para convertir datos en decisiones, y desarrollamos soluciones de ia para empresas, agentes IA y automatizaciones a medida que mejoran procesos y seguridad. Consulta nuestras soluciones de desarrollo de aplicaciones y software a medida en aplicaciones a medida y descubre nuestros servicios de inteligencia artificial en inteligencia artificial.

Palabras clave relacionadas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio