如何在项目中使用 Angular 库中的服务

How to consume a service from Angular Library in a project

我有一个 Angular 6 项目,它导入了一个 angular 库。

我从库中导入组件成功,现在我想在库中有AuthGuard服务,在所有项目中共享,但我做不到。

我在lib的public_api中导出了AuthGuard,并在模块中提供,但我不知道如何在项目中访问。

当我尝试导入时:

import { AuthGuard} from 'my-lib/lib/security/auth.guard';

我有错误:

Module not found: Error: Can't resolve 'my-lib/lib/security/auth.guard' in 'c:\workspace\my-project\src\app\portal'

您应该直接从库中导入它。

import { AuthGuard } from 'my-lib'

如果这不可能,则说明您的库配置不正确。

错误似乎是您遗漏了某些部分。

检查
1.In app.module.ts

import { AuthGuard } from 'my-lib';  

2。在提供商 providers: [AuthGuard, ...]

中添加 AuthGuard

3.In 模块 import { AuthGuard } from 'my-lib';