Почему 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();