Estaba refactorizando un código, es decir, organizando las importaciones (ordenando, eliminando los no utilizados, etc.)
Tenía tres archivos:
Controller
OverrideService
(usa la exportación predeterminada)RunService
Controller
depende de OverrideService
y RunService
.RunService
depende de OverrideService
Me 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?