@types/express
dan @types/express-serve-static-core
dan mengalami masalah.Definitions by:
di index.d.ts
) agar mereka dapat menanggapi.Kode:
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}`);
}
Saat membangun:
ERROR in /path/to/server.ts (25,11): Argument of type '"/api"' is not assignable to parameter of type 'RequestHandlerParams'.
Terkait:
expressjs/ekspres#3263
hai @natejgardner
Saya mengalami kesalahan ini juga dan menghabiskan terlalu banyak waktu untuk mencari tahu ini. Saya mencoba memperbaiki definisi tipe dengan menulis sendiri d.ts. file tapi saya gagal. Kemudian saya menemukan expressjs ini
Saya melihat banyak masalah dengan tipe TypeScript dan Expressjs dan mungkin masalah ini serius tetapi mengimpor tanpa menggunakan * tampaknya menyelesaikan masalah setidaknya dengan memanggil fungsi penggunaan yang kelebihan beban.
@natejgardner masalah Anda ada di Api Router:
anda dapat mencoba solusi seperti ini (ke dalam file "./routes/api"):
import { Router } from "express";
const router: Router = Router();
router.get("/", getInfo);
// ...other routes...
export = router;
Ini bekerja untuk saya .... nikmati :)
Apakah ini tetap?
Komentar yang paling membantu
hai @natejgardner' tidak dapat ditetapkan ke parameter tipe 'RequestHandlerParams'
Saya mengalami kesalahan ini juga dan menghabiskan terlalu banyak waktu untuk mencari tahu ini. Saya mencoba memperbaiki definisi tipe dengan menulis sendiri d.ts. file tapi saya gagal. Kemudian saya menemukan expressjs ini
Saya melihat banyak masalah dengan tipe TypeScript dan Expressjs dan mungkin masalah ini serius tetapi mengimpor tanpa menggunakan * tampaknya menyelesaikan masalah setidaknya dengan memanggil fungsi penggunaan yang kelebihan beban.