Basics
Project Structure
Folders & Files Samjho
💡 Angular project structure ek office building ka floor plan hai — har floor (folder) ka specific purpose hai (src/app = actual application code, node_modules = third-party libraries, jaise supply closet), sab predictable jagah par.
src/app/ mein actual application code hota hai — components, services, modules. angular.json project configuration (build settings, styles, scripts). package.json dependencies list (npm packages). Har component 4 files ka set hai: .ts (logic), .html (template), .css/.scss (styles), .spec.ts (tests).
my-app/
├── src/
│ ├── app/
│ │ ├── app.component.ts ← root component logic
│ │ ├── app.component.html ← root component template
│ │ ├── app.component.css ← root component styles
│ │ └── app.module.ts ← root module (older Angular)
│ ├── index.html ← single HTML file, poora app yahi load hota hai
│ └── main.ts ← application bootstrap/entry point
├── angular.json ← project configuration
└── package.json ← dependencies📁
Angular project structure ek office building ka floor plan hai — har floor (folder) ka specific purpose hai (src/app = actual application code, node_modules = third-party libraries, jaise supply closet), sab predictable jagah par.
1 / 2
⚡ Quick Recap
- src/app/ = actual application code
- Har component = .ts (logic) + .html (template) + .css (style) + .spec.ts (tests)
- SPA = ek index.html, baaki sab JavaScript se dynamically update hota hai
Is page mein (2 subtopics)
src/environments/ folder mein development vs production ke liye alag configuration (jaise API URLs) rakhते hain — build process automatically sahi file use karta hai based on configuration.
// environment.ts (development):
export const environment = {
production: false,
apiUrl: 'http://localhost:3000/api'
};
// environment.prod.ts (production):
export const environment = {
production: true,
apiUrl: 'https://api.myapp.com'
};
// Component mein use karna:
// import { environment } from '../environments/environment';
// fetch(environment.apiUrl + '/users');Tip: ng build --configuration production automatically environment.prod.ts use karta hai — koi manual switching nahi karni padti, build process khud handle karta hai.
src/assets/ folder mein images, fonts, JSON config files jaise static resources rakhते hain — build process automatically inhe final output mein copy kar deta hai, bina processing ke.
src/assets/
├── images/
│ └── logo.png
└── data/
└── config.json
// Template mein use karna:
// <img src="assets/images/logo.png">Tip: assets/ ke andar files DIRECTLY copy hoti hain (koi bundling/processing nahi) — bade images optimize karna manually zaroori hai, Angular khud automatically compress nahi karta assets/ ki files ko.