У меня в базе кода есть несколько промежуточных программных продуктов Express, каждое из которых находится в отдельном файле.Я хочу напечатать их все как express.Handler
вместо того, чтобы вводить каждый аргумент сам.
Мои файлы выглядят в основном так:
export default function exampleMiddleware (req, res, next) {
res.send(req.body.helloWorld)
}
Но req
, res
и next
все обрабатываются как any
, потому что TypeScript не знает, что эта функция должна быть express.Handler
.Как правильно это сделать?
Я не хочу изменить их на это, потому что это настолько многословно:
import * as express from 'express'
export default function exampleMiddleware (
req: express.Request,
res: express.Response,
next: express.NextFunction
): void {
res.send(req.body.helloWorld)
}
Я пытался:
declare function exampleMiddleware: express.Handler
, но в нем говорится «Все подписи перегрузки должны быть экспортированы или не экспортированы» - Добавление
let exampleMiddleware: express.Handler
, но в нем говорится, что «Объединенное объявление exampleMiddleware» не может включатьэкспортная декларация по умолчанию. "