Почему typescript ругается на new Router в express?

new Router() подчеркнут и при наведении такая ошибка тайпскрипта TS7009: 'new' expression, whose target lacks a construct signature, implicitly has an 'any' type.

import {Router} from "express";
import NoteController from "../repositories/NoteController";

const notesRouter = new Router()

notesRouter.get('/notes/stats', NoteController.getStats)

notesRouter.get('/notes', NoteController.getAll)

notesRouter.get('/notes/:id', NoteController.getOne)

notesRouter.put('/notes/archive/:id', NoteController.archive)

notesRouter.put('/notes/unarchive/:id', NoteController.unarchive)

notesRouter.post('/notes', NoteController.create)

notesRouter.put('/notes/:id', NoteController.update)

notesRouter.delete('/notes/:id', NoteController.delete)

export default notesRouter;


Ответы (1 шт):

Автор решения: Alexey Ten

https://expressjs.com/en/4x/api.html#express.router

Router это не класс (и не конструктор), так что Typescript ругается вполне по делу.

Просто вызывайте функцию:

const notesRouter = Router();
→ Ссылка