Express.js Cheatsheet
Express.js is a minimal web framework for Node.js. Master routing, middleware, and request handling for building APIs and web applications.
Express.js is a fast, unopinionated web framework for Node.js. It provides minimal tooling for building web servers, APIs, and applications with routing, middleware, and request handling.
NOTE: Tested using the latest version at time of writing, v4.x
Basic Setup
Create an Express application.
const express = require('express');
const app = express();
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
Routes
Define HTTP route handlers.
// GET request
app.get('/users', (req, res) => {
res.json({ users: [] });
});
// POST request
app.post('/users', (req, res) => {
res.status(201).json({ success: true });
});
Route Parameters
Access URL parameters.
// /users/123
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
res.json({ userId });
});
Request Body
Parse JSON and form data.
// Parse JSON (built-in in Express 4.16+)
app.use(express.json());
// Parse URL-encoded data
app.use(express.urlencoded({ extended: true }));
app.post('/users', (req, res) => {
const { name, email } = req.body;
res.json({ name, email });
});
Middleware
Use middleware functions.
// Application-level middleware
app.use((req, res, next) => {
console.log('Request:', req.method, req.path);
next(); // Continue to next middleware
});
Error Handling
Handle errors with middleware.
// Error handling middleware (must be last)
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).json({ error: 'Something went wrong!' });
});
Static Files
Serve static files.
// Serve files from 'public' directory
app.use(express.static('public'));
Router
Organize routes with Router.
// routes/users.js
const router = express.Router();
router.get('/', (req, res) => {
res.json({ users: [] });
});
module.exports = router;
// app.js
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
Express provides a minimal foundation for Node.js web applications. Add middleware and organize routes for scalable applications.
For full documentation, see https://expressjs.com