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

587
Vistas
Error angular: el tipo genérico 'ModuleWithProviders<T>' requiere 1 tipo de argumento(s)

Después de actualizar de Angular versión 8 a 10.

Ejecutar el comando - ng serve me da error -

ERROR en node_modules/ngx-tree-select/src/module.d.ts:11:56 - error TS2314: el tipo genérico 'ModuleWithProviders' requiere 1 tipo de argumento(s).

11 forRoot estático (opciones: TreeSelectDefaultOptions): ModuleWithProviders; ~~~~~~~~~~~~~~~~~~~

Este es mi archivo: front/webapp/node_modules/ngx-tree-select/src/module.d.ts

 import { ModuleWithProviders } from '@angular/core'; import { TreeSelectDefaultOptions } from './models/tree-select-default-options'; import * as ɵngcc0 from '@angular/core'; import * as ɵngcc1 from './components/tree-select.component'; import * as ɵngcc2 from './components/tree-select-item.component'; import * as ɵngcc3 from './directives/off-click.directive'; import * as ɵngcc4 from './pipes/item.pipe'; import * as ɵngcc5 from '@angular/common'; import * as ɵngcc6 from '@angular/forms'; export declare class NgxTreeSelectModule { static forRoot(options: TreeSelectDefaultOptions): ModuleWithProviders; static ɵmod: ɵngcc0.ɵɵNgModuleDefWithMeta<NgxTreeSelectModule, [typeof ɵngcc1.TreeSelectComponent, typeof ɵngcc2.TreeSelectItemComponent, typeof ɵngcc3.OffClickDirective, typeof ɵngcc4.ItemPipe], [typeof ɵngcc5.CommonModule, typeof ɵngcc6.FormsModule], [typeof ɵngcc1.TreeSelectComponent]>; static ɵinj: ɵngcc0.ɵɵInjectorDef<NgxTreeSelectModule>; } //# sourceMappingURL=module.d.ts.map

Por favor vea la imagen para el error.

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
11 Respuestas
Responde la pregunta

0

La solución para el mismo error en mi versión Angular 10.1.3 fue cambiar el parámetro de exportación a .

con error:

 export const appRoutingProviders: any[] = []; export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);

Después del cambio:

 export const appRoutingProviders: any[] = []; export const routing: ModuleWithProviders<any> = RouterModule.forRoot(appRoutes);
over 4 years ago · Santiago Trujillo Denunciar

0

Una causa de esto es actualizar Angular a una versión más nueva (es decir, v10), pero tener una biblioteca JS más antigua que no funciona bien y también necesita ser actualizada. En mi caso recibí el siguiente error como el OP:

ERROR en [en el cargador] ./node_modules/ @ng-bootstrap/ng-bootstrap /popover/popover.module.d.ts:6:23 TS2314: el tipo genérico 'ModuleWithProviders' requiere 1 tipo de argumento(s).

Observe en mi caso que se llamó a la biblioteca infractora en particular, que era @ng-bootstrap . De hecho, estaba en una versión mucho más antigua:

"@ng-bootstrap/ng-bootstrap": "^2.0.0"

Pude actualizar el paquete a la versión 7.0.0 y el error desapareció y la aplicación se creó correctamente. La solución principal aquí es no incluir inmediatamente las correcciones recomendadas aquí ni usar <any> en lugar de un tipo. Es posible que deba actualizar otro paquete para que su aplicación sea compatible con la versión de Angular que se utiliza para solucionar el problema correctamente.

over 4 years ago · Santiago Trujillo Denunciar

0

@ user9882419 tiene el mejor enfoque, creo. Aquí hay un ejemplo para ilustrar lo que está diciendo.

 export class AppSharedModule { static forRoot(): ModuleWithProviders<AppSharedModule> { return { ngModule: AppSharedModule }; } }
over 4 years ago · Santiago Trujillo Denunciar

0

Para omitir este tipo de error, simplemente agregue su código:

 declare module "@angular/core" { interface ModuleWithProviders<T = any> { ngModule: Type<T>; providers?: Provider[]; } }

Nota: esto arreglará la verificación de tipo y permitirá continuar; si observa otras incompatibilidades de lib con Angular10, debe solicitar la actualización de lib o encontrar otra.

over 4 years ago · Santiago Trujillo Denunciar

0

Solo necesita especificar el tipo (el nombre de la clase de módulo) entre ModuleWithProviders

over 4 years ago · Santiago Trujillo Denunciar

0

Parece que esta biblioteca ngx-tree-select no ha evolucionado con las últimas versiones de Angular. Tal vez debería abrir una solicitud de relaciones públicas o un problema en el repositorio.

over 4 years ago · Santiago Trujillo Denunciar

0

dado que recibió un error en los módulos de nodo, tiene un alcance limitado para corregirlo. Por lo tanto, intente obtener la última versión compatible con angular (su versión).

over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente proporcione "desconocido" como argumento de tipo. Tuve el mismo problema y lo resolví como en el siguiente fragmento

 export const routingModule: ModuleWithProviders<unknown> = RouterModule.forRoot( routes );
over 4 years ago · Santiago Trujillo Denunciar

0

agregue este código en su tsconfig.app.json "skipLibCheck": true,

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve un montón de errores. Tuve que revisarlos uno por uno y actualizar los paquetes a versiones posteriores donde los editores ya habían solucionado esto. Mire el nombre del archivo y le dará una idea de qué paquete debe actualizarse. Al menos uno de los paquetes no tenía una actualización actual y tenía una acumulación masiva de problemas y solicitudes de extracción. No sé qué voy a hacer con eso. Puede que tenga que reemplazar ese paquete con otra cosa o usar una de las soluciones aquí.

over 4 years ago · Santiago Trujillo Denunciar

0

Si tiene problemas en toastr.module.ts

Antes:-

 export declare class ToastrModule { static forRoot(config?: Partial<GlobalConfig>): ModuleWithProviders; } export declare class ToastrComponentlessModule { static forRoot(config?: Partial<GlobalConfig>): ModuleWithProviders; }

Después:-

 export declare class ToastrModule { static forRoot(config?: Partial<GlobalConfig>): ModuleWithProviders<any>; } export declare class ToastrComponentlessModule { static forRoot(config?: Partial<GlobalConfig>): ModuleWithProviders<any>; }
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