中间件功能"/>
Typescript with Nodejs app.use 需要中间件功能
剧情简介
我正在尝试将 TypeScript 用于带有 NodeJS 的项目,以帮助简化开发。然而,我遇到了几个问题我无法弄清楚打字稿编译器似乎有问题
问题
所以在主文件中
server.js
我导入了服务器使用的路由,像这样:
// Define Routes
app.use("/api/v1",(req: Request, res: Response, next: NextFunction) => apiV1Routes(req, res, next));
apiV1Routes
的内部只是创建一个 Router
实例的一般调用,并返回它
就像我在这里所做的那样:
import express, { Router, Request, Response, NextFunction } from "express";
export default (req: Request, res: Response, next: NextFunction) => {
const router = Router();
router.get("/test", (req: Request, res: Response) => {
res.send("API is running");
});
return router;
}
我试过了
所以虽然这些看起来不正常,但这是我正在测试的,试图让它工作,原始代码非常相似,只是做了一些小改动
原码
sever.ts
app.use('/api/v1', apiV1Routes);
和
apiV1Routes
import express from 'express'
const router = express.Router()
export default router;
上面我在 vanilla js 中使用过很多次,但是我似乎无法让它在
.ts
文件中以其他方式工作,它不断抛出一个错误 app.use() requires a middleware function
但我似乎无法弄清楚如何实现它就目前而言,我已经检查了几篇关于 SO
错误的 app.use()....
文章,所有这些都不是特别特别的,因为大多数都没有正确导出。但是,我相信我正确地导出了路由器,因为我之前在不同的项目中使用过这种语法。
回答如下:
更多推荐
Typescript with Nodejs app.use 需要中间件功能
发布评论