Javascript 如何从TypeScript中的另一个模块引用现有类型?

Javascript 如何从TypeScript中的另一个模块引用现有类型?,javascript,node.js,typescript,Javascript,Node.js,Typescript,假设我正在编写Node.js hello world服务器。然后作为对http.createServer函数的回调,我有一个函数,基本上如下所示: (req, res) => { // ... } (req: X, res: Y): void => { // ... } 现在,如果我想在TypeScript中这样做,我想告诉编译器req和res是Node.js中合适的对象。如何将这些添加为类型?基本上,这应该是这样的: (req, res) => { // ..

假设我正在编写Node.js hello world服务器。然后作为对
http.createServer
函数的回调,我有一个函数,基本上如下所示:

(req, res) => {
  // ...
}
(req: X, res: Y): void => {
  // ...
}
现在,如果我想在TypeScript中这样做,我想告诉编译器
req
res
是Node.js中合适的对象。如何将这些添加为类型?基本上,这应该是这样的:

(req, res) => {
  // ...
}
(req: X, res: Y): void => {
  // ...
}
但是我必须为
X
Y
提供什么呢?我不想从头开始重新创建所有内容,我想必须有某种机制来引用现有类型,不是吗


我假设
req
res
的类型已经在某处定义,例如在
@types/node
中。如何使用在我自己的代码中定义的其中一种类型?

http.d.ts
中,声明了
RequestListener
类型

type RequestListener=(req:IncomingMessage,res:ServerResponse)=>void;
您可以从
http
模块导入这些类型

从“http”导入{IncomingMessage,ServerResponse};
const requestListener=(请求:IncomingMessage,res:ServerResponse):void=>{
}

你不想在很多地方使用相同的打字方式吗?如果是,我想您可能正在寻找
typeof
Typescript操作符,或者假设
req
res
的类型已经定义,例如在
@types/node
中。如何使用在我自己的代码中定义的其中一种类型?