TypeScript with Node.js & Express
Build robust, scalable backend REST APIs by combining Node.js, Express, and TypeScript type safety.
1. Installing Type Definitions (`@types`)
npm install express npm install --save-dev typescript @types/node @types/express ts-node nodemon
2. Typing Express Request & Response Handlers
import express, { Request, Response, NextFunction } from 'express';
const app = express();
app.use(express.json());
interface UserDTO {
name: string;
email: string;
}
// Typing Request Body & Params
app.post('/api/users', (req: Request<{}, {}, UserDTO>, res: Response) => {
const { name, email } = req.body;
res.status(201).json({
id: 101,
name,
email
});
});
app.listen(3000, () => {
console.log("Server running on port 3000");
});3. Typing Custom Middleware
import { Request, Response, NextFunction } from 'express';
export function authMiddleware(req: Request, res: Response, next: NextFunction) {
const token = req.headers.authorization;
if (!token) {
return res.status(401).json({ error: "Unauthorized access" });
}
next();
}Next Up
Master TSConfig options: target, module, strict mode, paths, and compiler flags.
Next Lesson: TSConfig & Compiler Options →