【问题标题】:How can I refer to an existing type from another module in TypeScript?如何从 TypeScript 中的另一个模块引用现有类型?
【发布时间】:2019-11-29 14:27:44
【问题描述】:

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

(req, res) => {
  // ...
}

现在,如果我想在 TypeScript 中执行此操作,我想告诉编译器 reqres 是来自 Node.js 的适当对象。如何将这些添加为类型?基本上这必须是这样的:

(req: X, res: Y): void => {
  // ...
}

但是我必须为XY 提供什么?我不想从头开始重新创建所有内容,我想必须有某种机制来引用现有类型,不是吗?

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

【问题讨论】:

  • 您不想在很多地方使用相同的打字方式?如果是,这是possible duplicate
  • 我想你可能正在寻找typeof Typescript 运算符
  • 我想reqres 的类型已经定义好了,例如在@types/node。如何使用在我自己的代码中定义的其中一种类型?

标签: javascript node.js typescript


【解决方案1】:

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

type RequestListener = (req: IncomingMessage, res: ServerResponse) => void;

您可以从 http 模块导入这些类型。

import { IncomingMessage, ServerResponse } from 'http';

const requestListener = (req: IncomingMessage, res: ServerResponse): void => {
}

【讨论】:

    猜你喜欢
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多