Node.js 使用typescript和express时,我可以';t get res.send在我的控制器中使用显式类型,但当类型为anny时,它确实有效
我试图在MVC配置中使用express和typescript设置一个项目,我的index.ts执行路由,并将请求和响应对象发送到适当的控制器函数,在我的例子中是home controller GetRoot函数Node.js 使用typescript和express时,我可以';t get res.send在我的控制器中使用显式类型,但当类型为anny时,它确实有效,node.js,typescript,express,model-view-controller,Node.js,Typescript,Express,Model View Controller,我试图在MVC配置中使用express和typescript设置一个项目,我的index.ts执行路由,并将请求和响应对象发送到适当的控制器函数,在我的例子中是home controller GetRoot函数 import { request, response } from "express" import {IHomeController} from "./IHomeController" export class HomeController implements IHomeContr
import { request, response } from "express"
import {IHomeController} from "./IHomeController"
export class HomeController implements IHomeController{
GetRoot(req: Express.Request, res:Express.Response){
res.send("please let this work");
return;
}
}
当我使用显式类型时,如上所示,我得到错误“类型“Response”上不存在属性“send”
但是,当我使用any时,我能够正确地使用res.send()。不确定原因。您可以将导入和类型声明更改为以下内容
import { Request, Response } from "express"
import {IHomeController} from "./IHomeController"
export class HomeController implements IHomeController{
GetRoot(req: Request, res: Response){
res.send("please let this work");
return;
}
}
还是这个
import * as express from "express"
import {IHomeController} from "./IHomeController"
export class HomeController implements IHomeController{
GetRoot(req: express.Request, res: express.Response){
res.send("please let this work");
return;
}
}