最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Typescript with Nodejs app.use 需要中间件功能

网站源码admin38浏览0评论

Typescript with Nodejs app.use 需要中间件功能

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()....
文章,所有这些都不是特别特别的,因为大多数都没有正确导出。但是,我相信我正确地导出了路由器,因为我之前在不同的项目中使用过这种语法。

回答如下:
发布评论

评论列表(0)

  1. 暂无评论