Ng-lazyload-image: Não é possível resolver todos os parâmetros para ScrollHooks

Criado em 14 ago. 2020  ·  14Comentários  ·  Fonte: tjoskar/ng-lazyload-image

Estou recebendo o erro ERROR em Não é possível resolver todos os parâmetros para ScrollHooks em C: /.........../ node_modules / ng-lazyload-image / ng-lazyload-image.d.ts: (?). Isso só acontece ao fazer ng build --prod, mas funciona bem com ng build. Eu tentei npm instalar ng-lazyload-image --save-prod sem sucesso.

good first issue

Comentários muito úteis

Posso confirmar que este é um bug no Angular 8 (não consigo reproduzi-lo no Angular 10).

Provavelmente é por causa desta linha: https://github.com/tjoskar/ng-lazyload-image/blob/78512a9b8d2dae86e0719feb11ff810485948aab/src/scroll-hooks/hooks.ts#L11

Parece que isso funciona por enquanto:
`` `ts
import {BrowserModule} de '@ angular / platform-browser';
importar {NgModule} de '@ angular / core';
importar {LazyLoadImageModule, LAZYLOAD_IMAGE_HOOKS, ScrollHooks} de 'ng-lazyload-image';
importar {AppComponent} de './app.component';

// Crie uma classe personalizada sem argumentos de construtor
export class MyScrollHooks extends ScrollHooks {
construtor () {
super()
}
}

@NgModule ({
declarações: [AppComponent],
importações: [BrowserModule, LazyLoadImageModule],
provedores: [{fornecer: LAZYLOAD_IMAGE_HOOKS, useClass: MyScrollHooks}],
bootstrap: [AppComponent],
})
exportar classe AppModule {}
`` `

Todos 14 comentários

Eu também enfrento esse tipo de problema ao usar --prod no comando de compilação.

Qual versão do Angular você está usando?
Você pode colocar a mensagem de erro completa?

Angular 8.3
ERROR in Não é possível resolver todos os parâmetros para ScrollHooks em C: .......... / node_modules / ng-lazyload-image / ng-lazyload-image.d.ts: (?).

Você está usando o ScrollHook? Ou como está sua configuração?

Parece algo assim:

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 {}

Sim, as importações são exatamente iguais às da classe App Module.

@tjoskar eu também implementei da mesma forma. Eu também estou recebendo o mesmo erro

Precisarei criar um projeto Angular 8.3 para depurar isso. É possível compartilhar seu código ou criar um pequeno repositório onde pode reproduzir o erro? Ou me dê seu arquivo package.json.

{
"nome": "site pessoal",
"versão": "0.0.0",
"scripts": {
"de de",
"iniciar": "de servir",
"build": "of build",
"teste": "de teste",
"lint": "de lint",
"e2e": "de e2e"
},
"privado": verdadeiro,
"dependências": {
"@ angular / animações": "~ 8.2.14",
"@ angular / comum": "~ 8.2.14",
"@ angular / compilador": "~ 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 / router": "~ 8.2.14",
"bootstrap": "^ 4.4.1",
"hambúrgueres": "^ 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",
"@ types / jasmine": "~ 3.3.8",
"@ types / jasminewd2": "~ 2.0.3",
"@ types / node": "~ 8.9.4",
"codelyzer": "^ 5.0.0",
"jasmine-core": "~ 3.4.0",
"jasmine-spec-reporter": "~ 4.2.1",
"karma": "~ 4.1.0",
"karma-chrome-launcher": "~ 2.2.0",
"carma-cobertura-istanbul-repórter": "~ 2.0.1",
"karma-jasmine": "~ 2.0.1",
"karma-jasmine-html-reporter": "^ 1.4.0",
"transferidor": "~ 5.4.0",
"ts-node": "~ 7.0.0",
"tslint": "~ 5.15.0",
"texto datilografado": "~ 3.5.3"
}
}

Também estou enfrentando esse mesmo erro. Mesmos parâmetros dos comentários acima.

Posso confirmar que este é um bug no Angular 8 (não consigo reproduzi-lo no Angular 10).

Provavelmente é por causa desta linha: https://github.com/tjoskar/ng-lazyload-image/blob/78512a9b8d2dae86e0719feb11ff810485948aab/src/scroll-hooks/hooks.ts#L11

Parece que isso funciona por enquanto:
`` `ts
import {BrowserModule} de '@ angular / platform-browser';
importar {NgModule} de '@ angular / core';
importar {LazyLoadImageModule, LAZYLOAD_IMAGE_HOOKS, ScrollHooks} de 'ng-lazyload-image';
importar {AppComponent} de './app.component';

// Crie uma classe personalizada sem argumentos de construtor
export class MyScrollHooks extends ScrollHooks {
construtor () {
super()
}
}

@NgModule ({
declarações: [AppComponent],
importações: [BrowserModule, LazyLoadImageModule],
provedores: [{fornecer: LAZYLOAD_IMAGE_HOOKS, useClass: MyScrollHooks}],
bootstrap: [AppComponent],
})
exportar classe AppModule {}
`` `

Obrigado! Isso resolveu tudo! Eu não percebi o quão distante minha versão angular estava. Então, eu atualizei para a versão mais recente.

Uma correção está incluída em [email protected] portanto, você não precisa criar uma classe vazia extra.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

rimlin picture rimlin  ·  5Comentários

walfro picture walfro  ·  11Comentários

dkmostafa picture dkmostafa  ·  7Comentários

sandeepdussa picture sandeepdussa  ·  9Comentários

kodeine picture kodeine  ·  7Comentários