gpt4 book ai didi

typescript - 环境命名空间 typescript 示例

转载 作者:行者123 更新时间:2023-12-04 16:52:39 25 4
gpt4 key购买 nike

Namespaces本章给出了一个与D3.d.ts相关的例子,我不明白。
这是完整的例子:

declare namespace D3 {
export interface Selectors {
select: {
(selector: string): Selection;
(element: EventTarget): Selection;
};
}

export interface Event {
x: number;
y: number;
}

export interface Base extends Selectors {
event: Event;
}
}

declare var d3: D3.Base;

我真正不明白的是如何在我的模块或 typescript 脚本中使用 D3.d.ts?请给我一些简短的例子。

编辑
请忽略这里用的是D3;可能是 B3 或 G3 或 X7 ……随便什么;我对特定的图书馆不感兴趣。我只对我将如何使用我的 typescript 模块和我的 typescript 脚本中给出的示例感兴趣。

编辑2最让我感到困惑的是,上面的示例使用了 declare namespace ... 而不是 namespace D3(例如用于 namespace Validation) .另外,declare var d3: D3.Base; 有什么用(以及如何使用?)?

最佳答案

此类声明定义的全局变量并非来自导入,但可能在 window 上定义通过一些<script> .为了能够直接使用这些变量(无需导入!),您始终可以使用引用,例如:

/// <reference path="../types/D3.d.ts" />
d3.select("div"); // No import!

如果声明文件放在@types目录应包含在没有明确引用的情况下。


命名空间使用declare因为这是一个声明文件:它必须导出命名空间(仅对模块有效)或声明它,以使这些类型可用。

关于typescript - 环境命名空间 typescript 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49414997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com