Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

2K
Vistas
Error de Angular/Ivy: Error: Token InjectionToken XXXXXXXXX no tiene una definición de ɵprov

Obteniendo el error después de actualizar al compilador Angular 9 / Ivy

 ERROR Error: Token InjectionToken XXXXXXXXX is missing a ɵprov definition. at injectableDefOrInjectorDefFactory (vendor.js:47105) at providerToFactory (vendor.js:47210) at resolveProvider$1 (vendor.js:56430)
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esto puede ocurrir si intenta anular explícitamente un inyectable heredado con undefined o null .

En Angular 8 esto estaba bien

 { provide: AMBIENT_CART, useExisting: undefined }

Con Angular 9 debe cambiarse a

 { provide: AMBIENT_CART, useValue: undefined }

Si tiene curiosidad: en mi caso, estaba haciendo esto por razones de seguridad, para asegurarme de no usar este inyectable en particular por error.

over 4 years ago · Santiago Trujillo Denunciar

0

Recibí el mismo error al ejecutar la prueba ng después de actualizar desde Angular 8 --> 9: "Error: Token InjectionToken apiToken no tiene una definición de ɵprov".

Mi solución a esto fue muy simple: había un error tipográfico en el archivo de especificaciones que supongo que no importaba en Angular 8, pero ¿en Angular 9? La última instancia de 'useValue' a continuación se escribió incorrectamente como 'usevalue'. ¡Qué error tan oscuro!

 TestBed.configureTestingModule({ imports: [ HttpClientTestingModule ], providers: [ { provide: ApiService, useValue: apiService }, { provide: ProductsApiService, useValue: productsService }, { provide: apiToken, useValue: mockApiToken } ] });
over 4 years ago · Santiago Trujillo Denunciar

0

Empecé a recibir este error mientras ejecutaba pruebas unitarias después de actualizar una aplicación de Angular 8 a Angular 10. El problema se produjo porque el archivo de especificaciones existente usaba value en lugar de useValue en la matriz de proveedores, como se muestra en el siguiente ejemplo. Se solucionó el problema cambiándolo a useValue .

 beforeEach(async(() => { void TestBed.configureTestingModule({ declarations: [ MockPipe(TranslatePipe), ], imports: [ HttpClientTestingModule, ], providers: [ FormBuilder, MessageService, { provide: MESSAGES_TOKEN, value: {} }, //changed to useValue ] }).compileComponents(); }));
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda