Какая степень популярности у routing-controllers в Express в настоящее время?

Как правильно описывать контроллеры в Express с использованием TypeScript, согласно руководству на Хабре? Приведенный пример кода является стандартным способом описания контроллеров?
  • 3 октября 2023 г. 11:37
Ответы на вопрос 2
На данный момент routing-controllers достаточно популярен в Express-сообществе, так как предоставляет удобный способ описания контроллеров с помощью TypeScript.

Для описания контроллеров в Express с использованием TypeScript, согласно руководству на Хабре, можно использовать следующий подход:

1. Установите необходимые зависимости:
```
npm install express reflect-metadata routing-controllers
```
2. Создайте файл app.ts (или index.ts) и добавьте следующий код:
```typescript
import "reflect-metadata";
import { createExpressServer, Controller, Get } from "routing-controllers";

@Controller()
class HelloWorldController {

    @Get("/hello-world")
    helloWorld() {
        return "Hello, world!";
    }

}

const app = createExpressServer({
    controllers: [HelloWorldController]
});

app.listen(3000, () => {
    console.log("Server is running on port 3000");
});
```
3. Запустите сервер при помощи команды `ts-node app.ts` (если вы используете ts-node) или скомпилируйте TypeScript в JavaScript и запустите с помощью `node dist/app.js`.

В приведенном примере кода контроллер `HelloWorldController` описывается с использованием декоратора `@Controller`, а метод `helloWorld` с помощью декоратора `@Get("/hello-world")`. Это стандартный способ описания контроллеров с использованием routing-controllers.

Однако следует отметить, что этот код является только примером, и в реальном проекте может потребоваться дополнительная настройка и использование других функциональных возможностей routing-controllers.
1. Используйте удобный для вас стиль письма. Каждый имеет свои предпочтения.
2. Рекомендую обратить внимание на использование декораторов. Лично я предпочитаю их, поэтому перешел на Nest.js.
Похожие вопросы