📖 Scenario: You are creating the main module for a simple Angular application. This module will organize the app's components and services.
🎯 Goal: Build the root Angular module called AppModule with a basic setup including imports, declarations, and bootstrap component.
📋 What You'll Learn
Create a root module named AppModule
Import BrowserModule from @angular/platform-browser
Declare a component named AppComponent
Bootstrap the AppComponent
💡 Why This Matters
🌍 Real World
Every Angular app needs a root module to organize components and dependencies. This structure helps Angular know what to load first.
💼 Career
Understanding the root module is essential for Angular developers to set up and maintain applications properly.
Progress0 / 4 steps
1
Create the root module class
Create an Angular module class named AppModule using the @NgModule decorator imported from @angular/core.
Angular
Hint
Use @NgModule decorator above the AppModule class.
2
Import BrowserModule
Import BrowserModule from @angular/platform-browser and add it to the imports array inside the @NgModule decorator of AppModule.
Angular
Hint
Remember to add BrowserModule inside the imports array.
3
Declare AppComponent
Declare a component named AppComponent in the declarations array inside the @NgModule decorator of AppModule. Also, import AppComponent from './app.component'.
Angular
Hint
Put AppComponent inside the declarations array.
4
Bootstrap AppComponent
Add AppComponent to the bootstrap array inside the @NgModule decorator of AppModule to set it as the starting component.
Angular
Hint
Set AppComponent as the bootstrap component to start the app.
Practice
(1/5)
1. What is the main purpose of the AppModule in an Angular application?
easy
A. To declare components and import modules needed for the app
B. To style the application globally
C. To handle HTTP requests
D. To manage routing only
Solution
Step 1: Understand the role of AppModule
The AppModule is the root module that organizes the app's components and imports other modules.
Step 2: Identify what AppModule does
It declares components and imports modules needed for the app to work properly.
Final Answer:
To declare components and import modules needed for the app -> Option A
Quick Check:
AppModule organizes components and imports [OK]
Hint: AppModule declares components and imports modules [OK]
Common Mistakes:
Confusing AppModule with styling or HTTP handling
Thinking AppModule only manages routing
Assuming AppModule is for CSS or HTTP only
2. Which of the following is the correct way to define the bootstrap property in @NgModule for starting the app with AppComponent?
easy
A. bootstrap: AppComponent
B. bootstrap = AppComponent
C. bootstrap = [AppComponent]
D. bootstrap: [AppComponent]
Solution
Step 1: Recall the syntax for bootstrap in @NgModule
The bootstrap property expects an array of components to start the app.
Step 2: Match the correct syntax
Using bootstrap: [AppComponent] is the correct way to provide an array with the main component.
Final Answer:
bootstrap: [AppComponent] -> Option D
Quick Check:
Bootstrap uses array syntax [OK]
Hint: Bootstrap needs an array of components [OK]
Common Mistakes:
Using assignment (=) instead of colon (:)
Not wrapping component in an array
Omitting brackets around AppComponent
3. Given this AppModule snippet, what will happen when the app starts?
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
bootstrap: [AppComponent]
})
export class AppModule { }
medium
A. The app will throw a syntax error
B. The app will fail because BrowserModule is missing
C. The app will start and display the AppComponent template
D. The app will start but show a blank page
Solution
Step 1: Check declarations and imports
AppComponent is declared and BrowserModule is imported, which is required for browser apps.
Step 2: Verify bootstrap property
AppComponent is bootstrapped correctly, so it will be the starting component shown.
Final Answer:
The app will start and display the AppComponent template -> Option C
Quick Check:
Proper declarations, imports, and bootstrap means app runs [OK]
Hint: Check declarations, imports, and bootstrap for app start [OK]