Express.js / Typescript:错误TS2339:类型“ Response”上不存在属性“ send”

时间:2019-11-29 21:54:57

标签: node.js typescript express

我在Phpstorm 2019.3中看到了这个.send()下有一个红色的棉绒

// package.json
  "dependencies": {
    "express": "^4.17.1"
  },
  "devDependencies": {
    "@types/express": "^4.17.2",
    "tslint": "^5.12.0",
    "typescript": "^3.2.2"
  },

// index.ts
const express = require("express")();

express.get('/', (req: Request, res: Response): void => {
 res.send('Express App Running') // TS2339: Property 'send' does not exist on type 'Response'
});

这些是错误的类型定义还是其他原因?

1 个答案:

答案 0 :(得分:1)

回调中的RequestResponse类型可能不是Express提供的类型。
确保导入正确的类型:

import express, { Request, Response } from "express";

const app = express();

app.get("/", (req: Request, res: Response) => {
  res.send("foo");
});