@types/express
e @types/express-serve-static-core
e tive problemas.Definitions by:
em index.d.ts
) para que eles possam responder.Código:
import * as express from "express";
import { Request, Response } from "express";
import * as bodyParser from "body-parser";
import * as api from "./routes/api";
namespace my_api {
let app = express();
let port: number = process.env.port || 3000;
app.use(bodyParser.json());
app.use('/api', api);
app.get('/', (req: Request, res: Response) => {
res.send("Hello world");
});
app.listen(port, () => console.log(`Express app listening on port ${port}`);
}
Ao construir:
ERROR in /path/to/server.ts (25,11): Argument of type '"/api"' is not assignable to parameter of type 'RequestHandlerParams'.
Relacionado:
expressjs / express # 3263
oi @natejgardner
Eu também encontrei esse erro e gastei muito tempo tentando descobrir isso. Tentei consertar a definição de tipos escrevendo o próprio d.ts. arquivos, mas eu falhei. Então me deparei com este expressjs: typescript: Argument of type 'typeof
Vejo muitos problemas com tipos TypeScript e Expressjs e talvez esse problema seja sério, mas importar sem usar * parece resolver o problema pelo menos com a chamada de função de uso sobrecarregada.
@natejgardner, seu problema está no Roteador Api:
você pode tentar uma solução como esta (no arquivo "./routes/api"):
import { Router } from "express";
const router: Router = Router();
router.get("/", getInfo);
// ...other routes...
export = router;
É trabalho para mim .... aproveite :)
Isso está consertado?
Comentários muito úteis
oi @natejgardner'não é atribuível ao parâmetro do tipo' RequestHandlerParams '
Eu também encontrei esse erro e gastei muito tempo tentando descobrir isso. Tentei consertar a definição de tipos escrevendo o próprio d.ts. arquivos, mas eu falhei. Então me deparei com este expressjs: typescript: Argument of type 'typeof
Vejo muitos problemas com tipos TypeScript e Expressjs e talvez esse problema seja sério, mas importar sem usar * parece resolver o problema pelo menos com a chamada de função de uso sobrecarregada.