Feature modules with lazy loading
There are two ways resources are loaded: eagerly or lazily. When the browser loads up index.html
for your app, it starts processing it from top to bottom. First, the <head>
element is processed, then <body>
. For example, the CSS resources we defined in <head>
of our app will be downloaded before our app is rendered because our Angular app is defined as <script>
in <body>
of the HTML file.
When you use the ng build
command, Angular leverages the webpack module bundler to combine all the JavaScript, HTML, and CSS into minified and optimized JavaScript bundles.
If you don’t leverage lazy loading in Angular, the entire contents of your app will be eagerly loaded. The user won’t see the first screen of your app until all screens are downloaded and loaded.
Lazy loading allows the Angular build process, working in tandem with webpack, to separate your web application into different JavaScript files...