@types/express
und @types/express-serve-static-core
und hatte Probleme.Definitions by:
in index.d.ts
), damit sie es können Antworten.Code:
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}`);
}
Beim Bauen:
ERROR in /path/to/server.ts (25,11): Argument of type '"/api"' is not assignable to parameter of type 'RequestHandlerParams'.
Verwandt:
expressjs/express#3263
Hallo @natejgardner
Ich bin auch auf diesen Fehler gestoßen und habe viel zu viel Zeit damit verbracht, dies herauszufinden. Ich habe versucht, die Typendefinition zu reparieren, indem ich eigene d.ts geschrieben habe. Dateien, aber ich bin gescheitert. Dann bin ich auf dieses expressjs gestoßen: typescript: Argument vom Typ 'typeof
Ich sehe viele Probleme mit TypeScript-Typen und Expressjs und vielleicht ist dieses Problem ernst, aber das Importieren ohne Verwendung von * scheint das Problem zumindest beim Aufrufen der überladenen Verwendungsfunktion zu lösen.
@natejgardner dein Problem liegt im Api Router:
Sie können eine Lösung wie diese versuchen (in die Datei "./routes/api"):
import { Router } from "express";
const router: Router = Router();
router.get("/", getInfo);
// ...other routes...
export = router;
Es ist Arbeit für mich .... viel Spaß :)
Ist das behoben?
Hilfreichster Kommentar
Hallo @natejgardner' ist Parameter vom Typ 'RequestHandlerParams' nicht zuweisbar
Ich bin auch auf diesen Fehler gestoßen und habe viel zu viel Zeit damit verbracht, dies herauszufinden. Ich habe versucht, die Typendefinition zu reparieren, indem ich eigene d.ts geschrieben habe. Dateien, aber ich bin gescheitert. Dann bin ich auf dieses expressjs gestoßen: typescript: Argument vom Typ 'typeof
Ich sehe viele Probleme mit TypeScript-Typen und Expressjs und vielleicht ist dieses Problem ernst, aber das Importieren ohne Verwendung von * scheint das Problem zumindest beim Aufrufen der überladenen Verwendungsfunktion zu lösen.