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

Photo by Safar Safarov on Unsplash.

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.

Từ khóa: ,