Definitelytyped: @types/express, @types/express-serve-static-core -- 基本服务器失败。 '"/api"' 类型的参数不能分配给 'RequestHandlerParams' 类型的参数。

创建于 2017-08-04  ·  3评论  ·  资料来源: DefinitelyTyped/DefinitelyTyped

  • [x] 我尝试使用@types/express@types/express-serve-static-core包,但遇到了问题。
  • [x] 我尝试使用最新的稳定版 tsc。 https://www.npmjs.com/package/typescript
  • [] 我有一个不适合StackOverflow 的问题。 (请在那里提出任何适当的问题)。
  • [x] [提及](https://github.com/blog/821-mention-somebody-they-re-notified) 作者(见Definitions by:中的index.d.ts )所以他们可以回应。

    • 作者: @borisyankov

代码:

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}`);
}

构建时:

ERROR in /path/to/server.ts (25,11): Argument of type '"/api"' is not assignable to parameter of type 'RequestHandlerParams'.

有关的:
expressjs/express#3263

最有用的评论

嗨@natejgardner
我也遇到了这个错误,花了太多时间来解决这个问题。 我尝试通过编写自己的 d.ts 来修复类型定义。 文件,但我失败了。 然后我遇到了这个expressjs:typescript: Argument of type 'typeof' 不可分配给类型为 'RequestHandlerParams' 的参数
我看到 TypeScript 类型和 Expressjs 有很多问题,也许这个问题很严重,但在不使用 * 的情况下导入似乎至少可以通过调用重载的use函数来解决问题。

所有3条评论

嗨@natejgardner
我也遇到了这个错误,花了太多时间来解决这个问题。 我尝试通过编写自己的 d.ts 来修复类型定义。 文件,但我失败了。 然后我遇到了这个expressjs:typescript: Argument of type 'typeof' 不可分配给类型为 'RequestHandlerParams' 的参数
我看到 TypeScript 类型和 Expressjs 有很多问题,也许这个问题很严重,但在不使用 * 的情况下导入似乎至少可以通过调用重载的use函数来解决问题。

@natejgardner您的问题出在 Api 路由器上:

您可以尝试这样的解决方案(进入“./routes/api”文件):

import { Router } from "express";
const router: Router = Router();
router.get("/", getInfo);
// ...other routes...
export = router;

这对我有用....享受:)

这是固定的吗?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

csharpner picture csharpner  ·  3评论

alisabzevari picture alisabzevari  ·  3评论

variousauthors picture variousauthors  ·  3评论

jbreckmckye picture jbreckmckye  ·  3评论

JudeAlquiza picture JudeAlquiza  ·  3评论