我用两个服务'./src/lib/auth.service.ts'
(AuthService)和'./src/lib/error.service.ts'
(ErrorService)构建了一个Angular 6库'auth‘。
现在我想在我的Angular 6应用程序中使用这两个服务-都注入到另一个服务中,比如:
constructor(
private http: HttpClient,
private authService: AuthService,
private errorService: ErrorService
) {}
但是,当我尝试编译应用程序时,出现了以下错误:
Module not found: Error: Can't resolve 'auth/lib/error.service' in 'C:\Projects\MyProject\src\app\services\data'
我可以导入ErrorService而不会出现任何问题,而且VSCode也不会显示任何错误。只有当我试图编译它的时候。
库和应用程序都是使用相同版本的Angular 6构建的。我还在public_api.ts
中添加了error.service.ts
,并在auth.module.ts
中提供了它。
将AuthModule
导入到app.module.ts
中
...
import { AuthModule } from './auth';
@NgModule({
declarations: [
...
],
imports: [
...
AuthModule
],
providers: [
...
],
entryComponents: [EditDialogComponent],
bootstrap: [AppComponent]
})
export class AppModule {
...
}
这是文件public_api.ts
/*
* Public API Surface of auth
*/
export * from './lib/auth.service';
export * from './lib/error.service';
export * from './lib/auth.component';
export * from './lib/auth.module';
和文件error.service.ts
(仍为空):
import { Injectable } from '@angular/core';
@Injectable()
export class ErrorService {
}
我对AuthService没有任何问题。我做错了什么?
发布于 2018-10-04 17:08:58
AuthService和ErrorService应该在您的第三个服务之前启动。因此,请在应用程序模块(根)中提供它们,然后它们将是单例。
https://stackoverflow.com/questions/52642707
复制相似问题