NullInjectorError:没有 t 的提供者! NullInjectorError: StaticInjectorError(ba)[Cw -> t]:
Posted
技术标签:
【中文标题】NullInjectorError:没有 t 的提供者! NullInjectorError: StaticInjectorError(ba)[Cw -> t]:【英文标题】:NullInjectorError: No provider for t! NullInjectorError: StaticInjectorError(ba)[Cw -> t]: 【发布时间】:2020-08-15 07:16:22 【问题描述】:当我运行 Angular 8 应用程序的 prod 构建时,我在控制台中收到此错误。构建运行良好,我已将所有服务包含在我的提供程序中。
我已经运行了以下命令,但没有收到任何错误。
ng build --prod --optimization=false
有什么办法可以告诉你失败了吗?即使我注释掉所有提供者(期望构建失败),我仍然没有收到任何错误。
请让我知道我可以/应该提供哪些其他信息来帮助您。谢谢!
错误信息:
app.module.ts
import NgModule from '@angular/core';
import BrowserModule from '@angular/platform-browser';
import BrowserAnimationsModule from '@angular/platform-browser/animations';
import FormsModule, ReactiveFormsModule from '@angular/forms';
import HttpClientModule, HTTP_INTERCEPTORS, HttpClient from '@angular/common/http';
import RouterModule from '@angular/router';
import AppComponent from './app.component';
import HomeComponent from './home/home.component';
import NavMenuComponent from './nav-menu/nav-menu.component';
//a bunch more components...
import AccountModule from './account/account.module';
import AccountRoutingModule from './account/account.routing.module';
import AuthGuard from './helpers/auth.guard';
import ErrorInterceptor from './helpers/error.interceptor';
import JwtInterceptor from './helpers/jwt.interceptor';
import TemplateService from './services/template.service';
import ExerciseService from './services/exercise.service';
import ExamService from './services/exam.service';
import AuthService from './services/auth.service';
import FeatureService from './services/feature.service';
import RoleService from './services/role.service';
import UserService from './services/user.service';
@NgModule(
declarations: [
AppComponent,
NavMenuComponent,
HomeComponent,
],
imports: [
BrowserModule.withServerTransition( appId: 'ng-cli-universal' ),
HttpClientModule,
FormsModule,
ReactiveFormsModule,
BrowserAnimationsModule,
AccountModule,
AccountRoutingModule,
RouterModule.forRoot([
path: '', component: HomeComponent, canActivate: [AuthGuard] ,
//all routes left out for brevity
])
],
//entryComponents: [NewTemplateModal, NewExerciseModal, AddFeaturesModal, SaveSuccessComponent, ErrorComponent],
providers: [
AuthService,
ExamService,
ExerciseService,
FeatureService,
RoleService,
TemplateService,
UserService,
HttpClient,
provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true ,
provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true ,
],
bootstrap: [AppComponent]
)
export class AppModule
构建:
【问题讨论】:
你们有服务吗? 抱歉回复晚了。我没有服务't'。只是错过了一个空的提供者:在我的组件中。 【参考方案1】:原来这是一件愚蠢的事情......
在我的一个组件中,我有providers:[]
。一旦我完全删除它,它就开始工作了。
希望这可以帮助其他人!
【讨论】:
你救了我的命。刚刚从 app.module.ts 中删除了providers:[]
【参考方案2】:
@Injectable(
providedIn: 'root'
)
export interface Cars
number: number;
model: string;
owner: string;
ownerPhone: string;
对我来说,错误是我的@decorator 在服务中无效
【讨论】:
以上是关于NullInjectorError:没有 t 的提供者! NullInjectorError: StaticInjectorError(ba)[Cw -> t]:的主要内容,如果未能解决你的问题,请参考以下文章
NullInjectorError:ReducerManager 没有提供程序
角度业力 - NullInjectorError:InjectionToken 配置没有提供者
NullInjectorError:没有 HttpClient 的提供者
NullInjectorError:没有提供 DecimalPipe