簡體   English   中英

在 Angular7 生產版本中獲取 StaticInjectorError 和 NullInjectorError

[英]Getting StaticInjectorError & NullInjectorError in Angular7 production build

嗨,我正在使用 Angular 7 開發一個 Angular 漸進式 Web 應用程序 (PWA)。在使用ng build --prod進行生產構建后,我在運行時遇到以下錯誤:

ERROR Error: StaticInjectorError[e -> function(){}]: 
  StaticInjectorError(Platform: core)[e -> function(){}]: 
    NullInjectorError: No provider for function(){}!
    at e.get (main.c61af9b8ddfa2457805d.js:1)
    at main.c61af9b8ddfa2457805d.js:1
    at e (main.c61af9b8ddfa2457805d.js:1)
    at e.get (main.c61af9b8ddfa2457805d.js:1)
    at main.c61af9b8ddfa2457805d.js:1
    at e (main.c61af9b8ddfa2457805d.js:1)
    at e.get (main.c61af9b8ddfa2457805d.js:1)
    at Pv (main.c61af9b8ddfa2457805d.js:1)
    at main.c61af9b8ddfa2457805d.js:1
    at Iv (main.c61af9b8ddfa2457805d.js:1)

我無法將錯誤追溯到其實際原因或可能導致錯誤的原因。 請幫助解決它。

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { StorageServiceModule } from 'angular-webstorage-service';
// Custom modules
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { ServiceWorkerModule } from '@angular/service-worker';
import { environment } from '../environments/environment';
import { LoggerService } from './common/services/logger.service';
import { Logger } from 'angular2-logger/core';
import { LoginComponent } from './components/login/login.component';
import { DashboardComponent } from './components/dashboard/dashboard.component';
import { NotfoundComponent } from './components/notfound/notfound.component';
import { FalDriverService } from './common/services/faldriver.service';
import { ApplicationSession } from './common/entities/application/application.session';
import { GlobalService } from './common/services/global.service';
import { SeedDataService } from './common/services/seeddata.service';
import { HeaderComponent } from './components/header/header.component';
import { HttpClientModule } from '@angular/common/http';
import { LoginGuardService } from './common/services/loginguard.service';
import { AppCacheService } from './common/services/appcache.service';
import { HttpService } from './common/services/http.service';
import { DatabaseService } from './common/services/database.service';

@NgModule({
  declarations: [
    AppComponent,
    LoginComponent,
    DashboardComponent,
    NotfoundComponent,
    HeaderComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    ReactiveFormsModule,
    HttpClientModule,
    StorageServiceModule,
    ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })
  ],
  providers: [

  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

早些時候,我所有的服務都在提供者內部。 我按照這個特定的答案刪除了它們: StaticInjectorError[e -> e]: NullInjectorError: No provider for e

嘗試添加這一行

environment.production ? ServiceWorkerModule.register('/ngsw-worker.js') : [],
ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production }),

我也有這個問題,但使用 Angular 8。

您可以通過在您的開發機器上本地運行ng serve --prod來幫助縮小提供者缺失的范圍。 然后您將能夠看到完整的錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM