Estaba refactorizando un código, es decir, organizando las importaciones (ordenando, eliminando los no utilizados, etc.)
Tenía tres archivos:
ControllerOverrideService (usa la exportación predeterminada)RunServiceController depende de OverrideService y RunService .RunService depende de OverrideServiceMe encontré con este problema:
En Controller.ts , originalmente el orden de las importaciones era así:
import { RunService } from '../services/RunService'; import OverrideService from '../services/OverrideService';Cuando las importaciones se ordenaron alfabéticamente, el código dejó de funcionar correctamente:
import OverrideService from '../services/OverrideService'; import { RunService } from '../services/RunService';Dando un error:
TypeError: OverrideService_1.default.overrideDependencyValidator is not a function Cuando cambié la exportación predeterminada a una exportación con nombre en OverrideService y actualicé las importaciones para que fueran así, el problema ya no existe.
import { OverrideService } from '../services/OverrideService'; import { RunService } from '../services/RunService';Investigué un poco, pero no pude encontrar ninguna información sobre las exportaciones predeterminadas frente a las nombradas, aparte de la sacudida de árboles y otras diferencias irrelevantes.
¿Cuál sería la razón por la que una exportación predeterminada causa un problema al reordenar las importaciones?