# Express ऐप डिप्लॉय करना — Express.js Fundamentals: Routing, Middleware और APIs

Source: https://www.skillbyai.com/hi/expressjs/ex-deployment

> NODE_ENV, PORT, process manager और platform hosting के साथ Express को production के लिए तैयार करें।

## चेकलिस्ट

`NODE_ENV=production` सेट करें, सीक्रेट्स एनवायरनमेंट वेरिएबल से लोड करें, `process.env.PORT` पर सुनें, और आगे एक reverse proxy (nginx, या प्लेटफ़ॉर्म का अपना) लगाएँ।

## इसे ज़िंदा रखें

**PM2** जैसा process manager उपयोग करें, या किसी प्लेटफ़ॉर्म (Render, Railway, Fly.io) को restart संभालने दें — सादा `node server.js` किसी भी बिना-पकड़ी क्रैश पर मर जाता है।

## अंतिम क्विज़ 1/8

अंतिम क्विज़

**Quiz:** Express middleware क्या है?

- [ ] A database
- [ ] A template
- [x] A function (req, res, next) that runs during a request
- [ ] A CSS file

*Answer:* A function (req, res, next) that runs during a request. Middleware requests जाँचकर next बुलाता है।

## अंतिम क्विज़ 2/8

अंतिम क्विज़

**Quiz:** `:id` जैसे route parameters कहाँ मिलते हैं?

- [ ] req.query
- [ ] req.body
- [ ] req.headers
- [x] req.params

*Answer:* req.params. Colon वाले segments req.params में पकड़े जाते हैं।

## अंतिम क्विज़ 3/8

अंतिम क्विज़

**Quiz:** कौन-सा middleware JSON bodies parse करता है?

- [x] express.json()
- [ ] express.static()
- [ ] express.Router()
- [ ] cors()

*Answer:* express.json(). इसके बिना req.body undefined रहता है।

## अंतिम क्विज़ 4/8

अंतिम क्विज़

**Quiz:** Error middleware कितने arguments लेता है?

- [ ] 2
- [x] 4
- [ ] 3
- [ ] 1

*Answer:* 4. (err, req, res, next) error handler की पहचान है।

## अंतिम क्विज़ 5/8

अंतिम क्विज़

**Quiz:** अमान्य input के लिए कौन-सा status code उचित है?

- [ ] 200
- [ ] 500
- [x] 400
- [ ] 301

*Answer:* 400. 400 Bad Request client error दर्शाता है।

## अंतिम क्विज़ 6/8

अंतिम क्विज़

**Quiz:** express.Router किसमें मदद करता है?

- [ ] Parsing forms
- [ ] Hashing passwords
- [ ] Serving fonts
- [x] Organizing routes into modular files

*Answer:* Organizing routes into modular files. Routers routes के समूह को prefix के नीचे mount करते हैं।

## अंतिम क्विज़ 7/8

अंतिम क्विज़

**Quiz:** CORS पाबंदियाँ कौन लागू करता है?

- [x] The browser
- [ ] The database
- [ ] Express
- [ ] The OS

*Answer:* The browser. Servers headers भेजते हैं; browsers निर्णय लेते हैं।

## अंतिम क्विज़ 8/8

अंतिम क्विज़

**Quiz:** Tests के लिए listen बुलाए बिना app export क्यों करें?

- [ ] It is faster to write
- [x] supertest can use the app without opening a port
- [ ] listen is deprecated
- [ ] It enables HTTPS

*Answer:* supertest can use the app without opening a port. Tests app import करके in-process requests करते हैं।
