IonicModule has the method
forRoot --> so this is the base of your ionic app
IonicPageModule is to encapsulate Page in an own module and add the functionality of lazyLoading.
This is the reason why IonicPageModule has only a
So imagine this:
You need a Root Module for you app - this is a simple module nothing special and you need to initialize the whole ionic context --> IonicModule.forRoot
Now you have multiple maybe large pages (similar like routes in angular).
You want to load them via lazy loading to speed up boot time or only load them, when they are accessed.
So you need something to tell your ionic App --> this page needs to be loaded later or when needed.
In this case --> only modules can be lazy loaded, so you wrap that pages in its own modules.
To add the ability to lazy load you have the IonicPageModule.forChild, because the page can be only a child of an existing module