Express中间件功能的@ types / express中是否有类型

Ale*_*lls 2 node.js express tsc typescript2.0

现在,我在自定义.d.ts文件中拥有此文件:

import { Request, Response, NextFunction } from 'express';
export type MiddleWareFn = (req: Request, res: Response, next: NextFunction) => void;
Run Code Online (Sandbox Code Playgroud)

我这样引用该文件:

router.use('/foo', <MiddleWareFn> function(req,res,next){});
Run Code Online (Sandbox Code Playgroud)

但是我想知道Express是否已经为中间件功能进行了打字?

cbd*_*per 12

这是我的处理方式:

import type { RequestHandler } from "express";

export const myMiddleware: RequestHandler = (req, res, next) => {
  // HANDLE REQUEST
  // RESPOND OR CALL NEXT()
};
Run Code Online (Sandbox Code Playgroud)


Car*_*uis 6

是。您还需要导入RequestHandler在这里检查定义

import { RequestHandler } from 'express';
Run Code Online (Sandbox Code Playgroud)