Estoy tratando de dividir un poco el código y moment.js es uno de los paquetes específicos que quiero aislar en un fragmento separado. Lo estoy haciendo así:
const myFn = async (currentNb) => { const moment = (await import('moment')).default() const dateUnix: number = moment(currentNb).valueOf() [...] } Pero me sale el siguiente error: this expression is not callable. Type Moment has no call signatures . Así que supongo que debería estar haciendo algo como moment.valueOf(currentNb) pero no estoy muy seguro. ¿Alguien puede poner algo de luz a esto? Gracias por adelantado
Así que aparentemente mi sintaxis era incorrecta. Finalmente encontré cómo resolver este problema. Necesito importarlo de la siguiente manera:
const {default: moment} = await import('moment')Encontré la respuesta en la documentación del paquete web:
La razón por la que necesitamos el valor predeterminado es que, desde el paquete web 4, al importar un módulo CommonJS, la importación ya no se resolverá en el valor de module.exports, sino que creará un objeto de espacio de nombres artificial para el módulo CommonJS.