Recibo el error ERROR en No se pueden resolver todos los parámetros para ScrollHooks en C: /.........../ node_modules / ng-lazyload-image / ng-lazyload-image.d.ts: (?). Esto solo sucede cuando se hace ng build --prod pero funciona bien con ng build. He intentado npm install ng-lazyload-image --save-prod sin éxito.
También me enfrento a este tipo de problema al usar --prod
en el comando de compilación.
¿Qué versión de Angular estás usando?
¿Puede colocar el mensaje de error completo?
Angular 8.3
ERROR en No se pueden resolver todos los parámetros para ScrollHooks en C: .......... / node_modules / ng-lazyload-image / ng-lazyload-image.d.ts: (?).
¿Estás usando ScrollHook? ¿O cómo es tu configuración?
¿Se parece a algo así?
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { LazyLoadImageModule, LAZYLOAD_IMAGE_HOOKS, ScrollHooks } from 'ng-lazyload-image';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule, LazyLoadImageModule],
providers: [{ provide: LAZYLOAD_IMAGE_HOOKS, useClass: ScrollHooks }],
bootstrap: [AppComponent],
})
export class MyAppModule {}
Sí, las importaciones son exactamente iguales a las de la clase Módulo de aplicación.
@tjoskar también he implementado lo mismo. también obtengo el mismo error
Necesitaré crear un proyecto Angular 8.3 para depurar esto. ¿Es posible que comparta su código o cree un pequeño repositorio donde pueda reproducir el error? O dame tu archivo package.json.
{
"nombre": "sitio web personal",
"versión": "0.0.0",
"guiones": {
"de de",
"inicio": "de servicio",
"build": "de build",
"prueba": "de prueba",
"pelusa": "de pelusa",
"e2e": "de e2e"
},
"privado": verdadero,
"dependencias": {
"@ angular / animaciones": "~ 8.2.14",
"@ angular / común": "~ 8.2.14",
"@ angular / compiler": "~ 8.2.14",
"@ angular / core": "~ 8.2.14",
"@ angular / formas": "~ 8.2.14",
"@ angular / platform-browser": "~ 8.2.14",
"@ angular / platform-browser-dynamic": "~ 8.2.14",
"@ angular / enrutador": "~ 8.2.14",
"bootstrap": "^ 4.4.1",
"hamburguesas": "^ 1.1.3",
"jquery": "^ 3.5.1",
"momento": "^ 2.24.0",
"lazyload-image": "^ 9.0.0",
"rxjs": "~ 6.4.0",
"tslib": "^ 1.10.0",
"zone.js": "~ 0.9.1"
},
"devDependencies": {
"@ angular-devkit / build-angular": "^ 0.803.24",
"@ angular / cli": "~ 8.3.23",
"@ angular / compiler-cli": "~ 8.2.14",
"@ angular / language-service": "~ 8.2.14",
"@ tipos / jazmín": "~ 3.3.8",
"@ tipos / jasminewd2": "~ 2.0.3",
"@ tipos / nodo": "~ 8.9.4",
"codelyzer": "^ 5.0.0",
"núcleo de jazmín": "~ 3.4.0",
"jasmine-spec-reporter": "~ 4.2.1",
"karma": "~ 4.1.0",
"karma-chrome-launcher": "~ 2.2.0",
"karma -cover-istanbul-reporter": "~ 2.0.1",
"karma-jazmín": "~ 2.0.1",
"karma-jasmine-html-reporter": "^ 1.4.0",
"transportador": "~ 5.4.0",
"ts-node": "~ 7.0.0",
"tslint": "~ 5.15.0",
"mecanografiado": "~ 3.5.3"
}
}
También me enfrento a este mismo error. Mismos parámetros que los comentarios anteriores.
Puedo confirmar que esto es un error en Angular 8 (no puedo reproducirlo en Angular 10).
Probablemente se deba a esta línea: https://github.com/tjoskar/ng-lazyload-image/blob/78512a9b8d2dae86e0719feb11ff810485948aab/src/scroll-hooks/hooks.ts#L11
Parece que esto funciona por ahora:
ts
importar {BrowserModule} desde '@ angular / platform-browser';
importar {NgModule} desde '@ angular / core';
importar {LazyLoadImageModule, LAZYLOAD_IMAGE_HOOKS, ScrollHooks} de 'ng-lazyload-image';
importar {AppComponent} desde './app.component';
// Crea una clase personalizada sin argumentos de constructor
export class MyScrollHooks extiende ScrollHooks {
constructor () {
súper()
}
}
@NgModule ({
declaraciones: [AppComponent],
importaciones: [BrowserModule, LazyLoadImageModule],
proveedores: [{proporcionar: LAZYLOAD_IMAGE_HOOKS, useClass: MyScrollHooks}],
bootstrap: [AppComponent],
})
exportar clase AppModule {}
''
La aplicación angular de referencia se puede encontrar aquí: https://github.com/tjoskar/ng-lazyload-image-bugs/blob/master/476-cant-resolve-all-parameters-for-ScrollHooks/src/app/app. module.ts
¡Gracias! ¡Eso lo arregló! No me di cuenta de lo atrás que estaba mi versión angular. Así que actualicé a la versión más reciente.
Se incluye una corrección en [email protected]
por lo que no es necesario crear una clase vacía adicional.
Comentario más útil
Puedo confirmar que esto es un error en Angular 8 (no puedo reproducirlo en Angular 10).
Probablemente se deba a esta línea: https://github.com/tjoskar/ng-lazyload-image/blob/78512a9b8d2dae86e0719feb11ff810485948aab/src/scroll-hooks/hooks.ts#L11
Parece que esto funciona por ahora:
ts
importar {BrowserModule} desde '@ angular / platform-browser';
importar {NgModule} desde '@ angular / core';
importar {LazyLoadImageModule, LAZYLOAD_IMAGE_HOOKS, ScrollHooks} de 'ng-lazyload-image';
importar {AppComponent} desde './app.component';
// Crea una clase personalizada sin argumentos de constructor
export class MyScrollHooks extiende ScrollHooks {
constructor () {
súper()
}
}
@NgModule ({
declaraciones: [AppComponent],
importaciones: [BrowserModule, LazyLoadImageModule],
proveedores: [{proporcionar: LAZYLOAD_IMAGE_HOOKS, useClass: MyScrollHooks}],
bootstrap: [AppComponent],
})
exportar clase AppModule {}
''