Технология: с использованием angular 6, angular cli и машинописного текста.
Сценарий:
У меня есть модуль приложения и основной модуль
Я хочу, чтобы компоненты модулей моего приложения использовали службы из моего основного модуля.
Мой основной модуль содержит список услуг:
import { NgModule } from '@angular/core';
// Services
import { AuthService } from './services/auth.service';
@NgModule({
declarations: [
],
imports: [
],
providers: [
AuthService
]
})
export class CoreModule { }
Это модуль моего приложения:
import { BrowserModule } from '@angular/platform-browser';
import { CommonModule } from '@angular/common';
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
// Modules
import { CoreModule } from './core/core.module';
// Sections
import { COMPONENTS } from './components/index';
import { ROUTES } from './app.routes';
@NgModule({
declarations: [
AppComponent,
COMPONENTS
imports: [
CommonModule,
FormsModule,
BrowserModule,
HttpClientModule,
ReactiveFormsModule,
RouterModule.forRoot(ROUTES),
CoreModule
],
providers: [
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Примечание. Как видите, я импортирую CoreModule.
Это мой компонент из модуля приложения (он вызывает основной модуль для получения AuthService):
import { Component } from '@angular/core';
// This Auth Service import not working (says service not exported)
import { AuthService } from '../../core/core.module';
@Component({
selector: 'app-contact',
templateUrl: './contact.component.html'
})
export class ContactComponent {
constructor(
private authService: AuthService
) {}
}
Проблема: я пытаюсь импортировать службу в компонент модулей моего приложения, называемый контактным компонентом, следующим образом:
import { AuthService } from '../../core/core.module';
Я получаю ошибку:
Служба не является экспортированным членом основного модуля.
Результат. Я хочу, чтобы мой контактный компонент из модуля приложения импортировал службу основного модуля под названием AuthService.