With Angular 6, below is the preferred way to create singleton services:
import { Injectable } from \'@angular/core\';
@Injectable({
providedIn: \'root\',
})
That would be true if the CoreModule only contained services. However, it does include other things such as single use components.
From Angular Docs:
Do gather application-wide, single use components in the CoreModule. Import it once (in the AppModule) when the app starts and never import it anywhere else. (e.g. NavComponent and SpinnerComponent).