TypeScript Express - я не могу использовать маршрутизатор в конструкторе, используя методы - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь разделить маршрутизатор в своем классе приложений. Когда я пытаюсь выполнить следующий код, ответ на "/ rate" будет отложен навсегда:

class App {
  ...

  public app: express.Application;

  constructor() {
    this.app = express();
    this.initControllers();
  }

  private initControllers() {
    const rc = new RatesController();
    this.app.use("/", rc.router);
  }

  ...
}

и вот мой RatesController:

class RatesController {
  public router = express.Router();

  constructor() {
    this.initRoutes();
  }

  private initRoutes() {
    this.router.get("/rates", this.getRates);
  }

  getRates = (req, res) => {
    res.send("rates controller");
  }
}

export default RatesController;

то, что я пробовал:

class App {
  ...

  public app: express.Application;

  constructor() {
    this.app = express();

    const rc = new RatesController();
    this.app.use("/", rc.router);
  }

  ...
}

Приведенный выше код работает, как я и ожидал (он возвращает «контроллер скорости»), но я все еще хочу отделить часть инициализирующих контроллеров.

Что мне делать?

(я был после этого урока: https://wanago.io/2018/12/03/typescript-express-tutorial-routing-controllers-middleware/)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...