Angular2 Module: How can i import a service from another module Angular2 Module: How can i import a service from another module angular angular

Angular2 Module: How can i import a service from another module


Adding the module to imports should do

import { ApiClientModule } from './apiClient.module';@NgModule({  imports: [    ApiClientModule,    CommonModule,    FormsModule  ],  declarations: [    DailyScheduleComponent,  ],  exports: [    DailyScheduleComponent  ],})export class ClinicDashboardModule {}

otherwise import the file that contains the service class

import { ClinicFacilityService } from './clinic-facility.service';

There is a clear distinction between @NgModule() imports and TypeScript imports.

If you need to use the class name (ClinicFacilityService) then a TypeScript import of that class is required. This is entirely unrelated to @NgModule()

@NgModule({  ...  providers: [    ClinicFacilityService  ],

If the @NgModule() import is required, then the class name of the module class (ApiClientModule) requires a TypeScript import because the module needs to be passed.

@NgModule({  imports: [    ApiClientModule,  ],
  • TypeScript imports are to to uniquely identify a class.
  • NgModule imports are to define that a module depends on another module.


This is kinda old post but for the sake of others, I find this article very comprehensive and fully answers this question. Hint: see Importing services section of that article.