📦
Express Basics & Setup

The app Object

express() ka Return Value
💡 app object EK RESTAURANT MANAGER jaisa hai — wo menu (routes) rakhta hai, staff ki line (middleware) set karta hai, settings (view engine, trust proxy) sambhaalta hai, aur shutter (listen) kholta hai.

express() call karne par jo return hota hai wo "app" hai — technically EK FUNCTION hai jise (req, res) ke saath call kiya ja sakta hai. Isi wajah se app ko seedhe http.createServer(app) mein paas kiya ja sakta hai.

app par teen tarah ke important methods hote hain: HTTP methods (app.get, app.post), middleware mounting (app.use), aur settings (app.set / app.get for config). Dhyaan rakho ki app.get() ke DO MATLAB hain — ek argument ho to setting padhta hai, do ho to route banata hai.

const app = express();

app.set("view engine", "ejs");   // setting likhna
console.log(app.get("view engine")); // setting padhna -> "ejs"

app.get("/users", handler);       // ye route hai, setting nahi
app.use(express.json());          // middleware mount
📦
app object EK RESTAURANT MANAGER jaisa hai — wo menu (routes) rakhta hai, staff ki line (middleware) set karta hai, settings (view engine, trust proxy) sambhaalta hai, aur shutter (listen) kholta hai.
1 / 2
⚡ झट से Recap
  • express() ek app return karta hai jo khud ek (req,res) handler function hai
  • app.use = middleware, app.METHOD = route, app.set/get = configuration
  • app.get ka behaviour arguments ki count par depend karta hai
इस page में (2 subtopics)

express() jo return karta hai wo sirf object nahi, EK FUNCTION hai jiska signature (req, res) hai. Isi wajah se app ko http.createServer(app) mein directly pass kiya ja sakta hai — jo HTTPS server ya Socket.io ke saath integration ke waqt kaam aata hai.

const https = require("https");
https.createServer({ key, cert }, app).listen(443);

app.set() se Express ka behaviour tune hota hai: "view engine" aur "views" templating ke liye, "trust proxy" reverse proxy ke peeche real client IP ke liye, "case sensitive routing" aur "strict routing" URL matching ke liye, aur "env" (default process.env.NODE_ENV) error output ke liye.

app.set("trust proxy", 1);
app.set("case sensitive routing", false);  // /Users == /users
app.set("strict routing", false);          // /users == /users/