javascript - ASP.NET Core Angular Spa 项目 JavaScriptServices 中没有 Guard 的提供程序

标签 javascript asp.net angular typescript asp.net-core

我收到错误: 没有 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/

相关文章:

javascript - 'year()' 和 'format(' YYYY')' 有什么区别?

javascript - Express js 在渲染 View 之前操作数据

c# - 如何重命名在 ASP.NET 5 Web 项目中用作 Web 根目录的 "wwwroot"文件夹

asp.net - 使用httpSendRequest c++上传文件

angular - 预检响应在 Angular 上没有 HTTP ok 状态

angular - 处理http.get()中的错误

javascript - 如何在新窗口/选项卡中打开文本和 xml 文件?

javascript - 如何在 three.js 中设置 Z 坐标系?

asp.net - 如何在 ASP.NET 页面内定义命名空间(内联代码方法)?

javascript - typescript 文件中的Nodejs加密