Вы можете создать классы "Controller
" для группировки ваших обработчиков маршрута , но Express всегда передает req
и res
(объекты запросов и ответов) на маршрутобработчики.
Пример использования TypeScript:
// very simplistic example
// "Controller" class
export class UsersController {
// route handler
async getUsers(req: Request, res: Response) {
try {
const users = await this.usersRepository.fetchUsers();
return res.json(users);
} catch (e) {
console.error(e);
return res.status(500).end();
}
}
}
И где-то с вашим маршрутизатором Express:
const usersController = new UsersController();
app.get('/users', usersController.getUsers);
В качестве бонуса, я бы рекомендовал взглянуть напроект Nest , который предлагает отличные возможности для разработчиков всем, кто хочет использовать и TypeScript, и Express одновременно.