How to preload all Angular Bundles ? Last Updated : 09 Dec, 2022 Comments Improve Suggest changes Like Article Like Report Introduction to pre-loading: The introduction of the Lazy Loading feature in Angular greatly improved the performance of the application. Lazy loading helps keep initial bundle sizes smaller, which in turn helps decrease load times. But, the main problem with lazy loading was that when the user navigates(or reaches) the lazy-loadable section of the application, the router has to fetch the required modules from the server, which can take time. So, even though the initial loading time for application is reduced ultimately the user will have to wait for some time till router fetches that specific module. To solve this issue, Angular came up with the concept of preloading. With this feature, the lazy-loadable modules are preloaded and thus the user doesn't have to wait for it to be fetched. This preloading takes place when the user is interacting with the application that is already loaded during lazy-loading. Flow for pre-loading the modules Approach: Basic Approach is to set preloading Strategy as that we need. We need to specify that we will be preloading all the modules by explicitly mentioning in app-routing.module.ts abstract class PreloadingStrategy { abstract preload(route: Route, fn: () => Observable): Observable } Steps: To preload all the modules, simply follow the steps below: Add an import statement for PreloadAllModules from app-routing.module.ts Syntax: import { NgModule } from '@angular/core'; import { RouterModule, Routes, PreloadAllModules } from '@angular/router'; While setting up the RouterModule in app-routing.module.ts, pass the router options including the preloadingStrategy to the forRoot() function. This will tell the router to set the preloading strategy to preload all the modules. Syntax: @NgModule({ imports:[RouterModule.forRoot(appRoutes, { preloadingStrategy : PreloadAllModules})], exports:[RouterModule] }) Now run ngserve in Angular CLI to rebuild your app. Open http://localhost:4200. Right Click to inspect elements(or Ctrl+Shift+I) and go to Network tab to see the result. Syntax:ng serve Example: Here is an example of what app-routing.module.ts that will look like this. javascript import { NgModule } from '@angular/core'; import { RouterModule, Routes, PreloadAllModules } from '@angular/router'; import { ListComponent } from './list/list.component'; import { DetailComponent } from './detail/detail.component'; import { AppComponent } from './app.component'; import { PageComponent } from './page/page.component'; import { NewComponent } from './new/new.component'; const appRoutes: Routes = [ { path: '', redirectTo: '/contact', pathMatch: 'full' }, { path: 'contact', component: ListComponent }, { path: 'details/:id', component: DetailComponent }, { path: 'new', component: NewComponent }, { path: 'not-found', component: PageComponent }, { path: '**', redirectTo: '/not-found' } ] @NgModule({ imports: [RouterModule.forRoot(appRoutes, { preloadingStrategy: PreloadAllModules })], exports: [RouterModule] }) export class AppRoutingModule { } Output: Comment More infoAdvertise with us Next Article How to preload all Angular Bundles ? S SonaliPatel Follow Improve Article Tags : Web Technologies AngularJS AngularJS-Misc Similar Reads How to pick which Angular Bundle to Preload ? Loading strategy in angular decides how to load the app modules when the application runs into the browser. In Angular, we have three types of loading: Eager loading, lazy loading, and preloading. By default, Angular follows eager loading i.e. as soon as the application starts downloading in the bro 4 min read How to bundle an Angular app for production? Introduction Before deploying the web app, Angular provides a way to check the behavior of the web application with the help of a few CLI commands. Usually, the ng serves command is used to build, watch, and serve the application from local memory. But for deployment, the behavior of the application 4 min read How to Get All Route Params/Data in Angular? In Angular, managing route parameters and extracting data from routes is important for creating dynamic and responsive web applications. Route parameters allow you to pass information in URLs, and accessing this data enables your application to make decisions and render content dynamically. This art 4 min read How to Enable HTML 5 Mode in Angular 1.x ? HTML5 mode in Angular1.x is the configuration that replaces the default hash-based URLs and provides more user-friendly URLs using the HTML5 History API. This feature mainly enhances our one-page application and also provides a better experience to the users. We need to configure our server with pro 6 min read How to Get Page Load Time in Angular? In web development, performance is the most important thing. Users expect fast and responsive web applications and even minor delays can impact user experience and satisfaction. Monitoring page load time is important for identifying performance bottlenecks and optimizing the user experience. In this 5 min read How to Create a new module in Angular ? Modules are most important when it comes to building strong and scalable Angular applications. They help organize your code, promote modularity, and improve maintainability. It encourages collaboration among developers by grouping related components, directives, pipes, and services. In this article, 3 min read How to Create an Angular Project from Scratch ? To create an Angular project from scratch, we'll need Node.js and npm installed on our computer. Once installed, we can use Angular CLI, a command-line tool, to quickly set up a new Angular project with a basic structure. After creating the project, we can start coding our application using TypeScri 4 min read How To Disable And Enabling Production Mode In Angular? In Angular, running an application in production mode is important for optimizing performance and minimizing bundle sizes. Understanding how to switch between production and development modes is essential for Angular developers. This article will explain how to enable and disable production mode in 5 min read How to create a new component in Angular? A component in Angular is the building block for making web pages. It is a reusable block of code that can be used anywhere in the app any number of times. It provides scalability, reusability, and readability. Each component does a specific job like showing a menu, a photo or a card, etc. In this a 3 min read How to Use Loading in Interceptor? - Angular 17 In Angular applications, HTTP interceptors are a powerful feature that allows you to intercept and modify HTTP requests and responses. One common use case for interceptors is to display a loading indicator to the user while an HTTP request is in progress. This improves the user experience by providi 5 min read Like