Reputation: 5379
I read an article about organizing folders in Angular and the author uses one called core
, in which he creates the core module and insert only services which will be called once.
Currently, I'm working on a project whereupon I adopted the structure recommended by the article. Inside my core
folder/module I created a module called api
:
\app
\core
\api
...
\shared
...
My question is: as the api
is a module, I was wondering why not remove it from core
and put in app
folder?
\app
\api
\core
\shared
...
Angular itself has core
module too (where we import ngModule
, Injectable
...) and I'd like to know what is its role.
Upvotes: 10
Views: 15560
Reputation: 222592
Your CoreModule contains code that will be used to instantiate your app and load some core functionality.
To get more idea on this read Core Module
Upvotes: 11
Reputation: 9927
This concept is a bit confusing, and I grasp it by reading many posts. To make understanding core module, I like share my idea related to Core module.
The main reason for generating CoreModule
is making AppModule
a bit leaner.
For example, imagine, some services like AnalyticService
are provided in AppModule
, and these services should be instantiated once in whole of your app. To make AppModule
cleaner, you could generated CoreModule
and put them into this module.
Upvotes: 1
Reputation: 672
Generally Core module is used in order to keep all API services and other common services (like NotificationsService, ConfirmationService, AuthorizationService etc) that you have in your application in the providers[... ] section. Then, the app.module will use your core.module in the imports section.
Upvotes: 3