Введенный сервис Angular 6 не может быть решен - PullRequest
0 голосов
/ 04 октября 2018

Я создал библиотеку Angular 6 'auth' с двумя службами './src/lib/auth.service.ts' (AuthService) и './src/lib/error.service.ts' (ErrorService).

Теперь я хочу использовать обе службы в своем приложении 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. Я также добавил error.service.ts к public_api.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.Что я делаю не так?

1 Ответ

0 голосов
/ 04 октября 2018

AuthService и ErrorService должны быть запущены до вашего третьего обслуживания.поэтому, пожалуйста, укажите их в модуле приложения (root), тогда они будут одиночными.

как эта ссылка

...