5 things you can do to make an Express application become better

Có rất nhiều điều phải làm để một ứng dụng express trở nên tốt hơn, dễ bảo trì hơn. Nhưng đây là những điều mà tôi thường làm khi bắt đầu một dự án mới với Expressjs…
Đọc chi tiết bài viết tại link.
Tóm tắt
1. Sử dụng Typescript
Có nhiều lý do để sử dụng Typescript cho một dự án mới với express.
2. Export an express instance
import express from 'express';
const app = express();
// register global middleware
// register routers
// register error handler
app.listen(process.env.PORT || 3000, () => {
console.log(`Listening on port ${process.env.PORT || 3000}`);
});
3. Xử lý lỗi cho một Async Handle
export const asyncHandlerWrap = (
handler: (req: Request, res: Response, next?: NextFunction) => Promise<any>,
) => {
return (req: Request, res: Response, next: NextFunction) => {
handler(req, res, next)
.catch(next);
}
}
4. Định nghĩa kiểu cho Request object
import { Request } from "express";
interface AuthenticatedRequest extends Request {
user?: IUser;
}
5. Tạo một router có thể kế thừa
// base router
class AuthenticatedRouter {
protected router: Router;
constructor() {
this.router = Router();
this.router.use(jwtAuthMiddleware);
}
getRouter() {
return this.router;
}
}
class BaseAdminRouter extends AuthenticatedRouter {
constructor() {
super();
this.router.use(adminAuthMiddleware);
}
}
// child routers
class UserRouter extends AuthenticatedRouter {
constructor() {
super();
this.router.get('/', userController.getUsers);
// ...
}
}
class AdminUserRouter extends BaseAdminRouter {
constructor() {
super();
this.router.post('/', adminController.createUser);
// ...
}
}
Đọc chi tiết bài viết tại link.