@types/xxxx
et j'ai eu des problèmes.Definitions by:
dans index.d.ts
) afin qu'ils puissent répondre.J'ai le problème actuel avec @types/express 4.11.1 & TSC 2.8.3.
Le code suivant ne peut pas compiler :
function aMiddleware(req: Request, res: Response, next: NextFunction) {
next();
}
app.get('/foo/bar', aMiddleware);
J'obtiens l'erreur suivante :
TS2345: Argument of type '(req: Request, res: Response, next: NextFunction) => void' is not assignable to parameter of type 'RequestHandlerParams'.
Type '(req: Request, res: Response, next: NextFunction) => void' is not assignable to type '(RequestHandler | ErrorRequestHandler)[]'.
Property 'includes' is missing in type '(req: Request, res: Response, next: NextFunction) => void'.
Salut Jimmy,
Vous devez importer comme ceci...
import { Express, Request, Response, NextFunction } from 'express';
const express = require('express');
const app: Express = express();
function aMiddleware(req: Request, res: Response, next: NextFunction) {
next();
}
app.get('/foo/bar', aMiddleware);
La raison en est que Request
, Response
, NextFunction
de Node.js ne sont pas identiques à Express.
J'espère que cela t'aides.
Merci, je vais essayer ça !
Cela fonctionne très bien. Merci beaucoup, encore.
Commentaire le plus utile
Salut Jimmy,
Vous devez importer comme ceci...
La raison en est que
Request
,Response
,NextFunction
de Node.js ne sont pas identiques à Express.J'espère que cela t'aides.