Thursday, January 29, 2026

Let’s do a quick Express.js “Hello World” from scratch.

 



Install Node.js

First, make sure Node.js is installed.

Check:

node -v npm -v

👉 If not installed, download from nodejs.org (LTS version).


2️⃣ Create a new project

mkdir express-hello cd express-hello

Initialize npm:

npm init -y

3️⃣ Install Express.js

npm install express

4️⃣ Create
index.js

Create a file named index.js and add this code:

const express = require('express'); const app = express(); const PORT = 3000; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(PORT, () => { console.log(`Server running at http://localhost:${PORT}`); });

5️⃣ Run the server

node index.js

You’ll see:

Server running at http://localhost:3000

6️⃣ Open in browser

Go to 👉 http://localhost:3000

🎉 Output:

Hello World!

(Optional) Auto-restart with nodemon



For development:

Go to 👉 https://www.npmjs.com/

Search nodemon pakage

npm -i nodemon

Update package.json:

"scripts": { "start": "node index.js", "dev": "nodemon index.js" }

Run:

npm run dev


🔹 What is Routing in Express?

Routing decides how your app responds to a client request (URL + HTTP method).

👉 Syntax:

app.METHOD(PATH, HANDLER)

Example:

app.get('/users', (req, res) => { res.send('Users list'); });

1️⃣ Basic Routes

const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Home Page'); }); app.post('/login', (req, res) => { res.send('Login API'); }); app.put('/user', (req, res) => { res.send('Update User'); }); app.delete('/user', (req, res) => { res.send('Delete User'); }); app.listen(3000);

2️⃣ Route Parameters (Dynamic Routes)

Used when data comes from URL.

app.get('/user/:id', (req, res) => { res.send(`User ID: ${req.params.id}`); });

URL:

/user/101

Output:

User ID: 101

Multiple params:

app.get('/post/:category/:id', (req, res) => { res.json(req.params); });

3️⃣ Query Parameters

Used for filters, pagination, search.

app.get('/search', (req, res) => { res.json(req.query); });

URL:

/search?keyword=node&page=2

4️⃣ Route Handlers (Multiple Callbacks)

app.get( '/profile', (req, res, next) => { console.log('Middleware'); next(); }, (req, res) => { res.send('Profile Page'); } );

5️⃣ Express Router (Best Practice)

Use Router to organize routes (like modules in Drupal).

📁 Folder structure

project/ ├─ routes/ │ └─ users.js ├─ app.js

routes/users.js

const express = require('express'); const router = express.Router(); router.get('/', (req, res) => { res.send('All Users'); }); router.get('/:id', (req, res) => { res.send(`User ${req.params.id}`); }); router.post('/', (req, res) => { res.send('Create User'); }); module.exports = router;

app.js

const express = require('express'); const app = express(); const userRoutes = require('./routes/users'); app.use('/users', userRoutes); app.listen(3000);

URLs:

GET /users GET /users/1 POST /users

6️⃣ Route Grouping

app.route('/book') .get((req, res) => res.send('Get book')) .post((req, res) => res.send('Add book')) .put((req, res) => res.send('Update book'));

7️⃣ Middleware in Routing

const auth = (req, res, next) => { console.log('Auth checked'); next(); }; app.get('/dashboard', auth, (req, res) => { res.send('Dashboard'); });

8️⃣ 404 Route Handling

Always keep at the bottom 👇

app.use((req, res) => { res.status(404).send('Route not found'); });

9️⃣ REST API Example (Real World)

router.get('/', (req, res) => res.json({ action: 'list' })); router.post('/', (req, res) => res.json({ action: 'create' })); router.get('/:id', (req, res) => res.json({ action: 'view', id: req.params.id })); router.put('/:id', (req, res) => res.json({ action: 'update', id: req.params.id })); router.delete('/:id', (req, res) => res.json({ action: 'delete', id: req.params.id }));

No comments:

Post a Comment

If you have any problem please let me know.