Getting Started with Express
// Install: npm install express\n\nconst express = require('express');\nconst app = express();\n\napp.get('/', (req, res) => {\n res.send('Hello from Express!');\n});\n\napp.get('/api/users', (req, res) => {\n res.json([{ id: 1, name: 'Alice' }]);\n});\n\n// Route parameters\napp.get('/api/users/:id', (req, res) => {\n res.json({ id: req.params.id });\n});\n\n// Query parameters\napp.get('/search', (req, res) => {\n const { q, page = 1 } = req.query;\n res.send(`Searching for ${q}, page ${page}`);\n});\n\napp.listen(3000);
Middleware
// Built-in middleware\napp.use(express.json()); // Parse JSON bodies\napp.use(express.urlencoded({ extended: true })); // Parse form data\napp.use(express.static('public')); // Serve static files\n\n// Custom middleware\napp.use((req, res, next) => {\n console.log(`${req.method} ${req.url}`);\n next();\n});\n\n// Route-specific middleware\nconst authenticate = (req, res, next) => {\n const token = req.headers.authorization;\n if (!token) return res.status(401).json({ error: 'Unauthorized' });\n req.user = { id: 1 };\n next();\n};\n\napp.get('/api/profile', authenticate, (req, res) => {\n res.json({ user: req.user });\n});
Examples
const express = require('express');
const app = express();
app.use(express.json());
// Request logger
app.use((req, res, next) => {
const start = Date.now();
res.on('finish', () => {
const ms = Date.now() - start;
console.log(`${req.method} ${req.url} ${res.statusCode} ${ms}ms`);
});
next();
});
app.get('/', (req, res) => res.json({ message: 'Express API' }));
app.get('/api/hello/:name', (req, res) => {
res.json({ greeting: `Hello, ${req.params.name}!` });
});
// Error handling (must have 4 params)
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).json({ error: 'Internal Server Error' });
});
app.listen(3000, () => console.log('Express server on port 3000'));