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.