角度静态喷射器错误-没有API的提供程序

时间:2019-02-05 12:28:05

标签: angular service abstract-class class-library provider

我创建了一个角度库项目,该项目具有一个组件和一个api(UserApi)(抽象类)。我还有另一个使用此库的项目。该项目还具有一个服务(UserService实现UserApi),该服务实现了库的api。

在我的项目模块文件中,我使用以下代码添加了提供程序。

{ provide: UserApi, useExisting: UserService }

现在,有两种方法可以为UserApi提供导入语句。

import { UserApi } from 'mylibrary'; 要么 import { UserApi } from 'projects/mylibrary/src/public_api';

第一个是正确的方法。但是,当我使用第一个导入时,它不起作用。当我使用第二次导入时,它可以工作。但是我不能用第二行发布代码。 进一步检查后,发现从发布库访问UserApi时,可以通过定义文件对其进行访问。

代码就像

import { Observable } from 'rxjs/Observable'; export declare abstract class UserApi { abstract getConfigName(): Observable<string>; }

在我的原始代码中,发布的代码中没有'declare'关键字。这就是我的项目无法使用所提供服务的原因。

如何解决?

更新 public_api中的代码

`

 export * from './lib/user-shared.service';
 export * from './lib/user-shared.component';
 export * from './lib/user-shared.module';
 export * from './lib/component/usermanager.component';
 export * from './lib/coreapi/userapi';

`

0 个答案:

没有答案