我收到错误: 没有 AuthGuard 提供商!
如果 AuthGuard 未在 app.module 中注册,通常会发生这种情况。在这种情况下,我将其注册在 app.module.shared.ts
最新的 JavaScriptServices Angular 模板将 app.module 分成 3 个部分 - app.module.shared.ts、app.module.client.ts、app.module.server.ts,这可能就是它表现奇怪的原因。
是否还有其他原因可能导致此错误发生?我相信这只发生在这个新的 JavaScriptServices 模板中,而不是普通的 Angular 项目中。
最佳答案
我在 app.module.shared.ts 中注册的服务也遇到了同样的问题。似乎该服务的多个实例(单例)是通过依赖项注入(inject)创建的,这导致了错误(错误消息根本不暗示这一点)。 我使用 NGMODULES docs on angular.io 中的信息修复了它,通过创建一个仅将服务注册为提供者的模块。
import { NgModule } from '@angular/core';
import { MyService } from './components/shared/my.service';
@NgModule({
providers: [MyService]
})
export class CoreModule { }
然后我将 CoreModule 添加到 app.module.shared.ts 的导入中
imports: [CoreModule]
虽然它确实解决了“无提供商”问题,但我的进行 http 调用的服务存在问题,但这可能与您的问题无关。
关于javascript - ASP.NET Core Angular Spa 项目 JavaScriptServices 中没有 Guard 的提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44125955/