Вот моя реализация раньше, и это работает. В index.ts:
express = express();
router = express.Router();
router.post('/somepath', () => {...});
express.use('/api', router);
Поскольку у меня много маршрутов, я решил поместить роутер в отдельный файл под названием route.ts:
class Route() {
router;
constructor() {
this.router.post('/somepath', () => {...});
}
}
module.exports = new Route().router;
// export default new Router().router
// Before I used the one commented above but it's giving me an error:
// Router.use() requires a middleware function but got a Object
// so I used module.exports instead
Тогда это больше не работает. Когда я запускаю / api / somepath в клиенте, на сервере ничего не происходит.
UPDATE
Я думаю, что использование отдельного файла не является проблемой. На самом деле, помимо этого, я добавил следующее для своей регистрации:
import * as requestId from 'express-request-id';
express.use(requestId);
Если я прокомментирую только express.use(requestId);
, то это произойдет. Но я не получаю никакой ошибки в бэкэнде.
решаемые
Извините, я думаю, что использовал его неправильно, должно быть так:
express.use(requestId());
Теперь это работает. :)