typescript - 如何在 TypeScript 中将类型重新导出为全局类型

标签 typescript interface export

我想要一个可以全局访问的接口(interface)(在单独的文件中定义),我该怎么做?

这是我的globals.d.ts文件

import { Theme, Style } from './style/themes/theme.types'

declare global {
  Theme
  Style
}

这给了我一个错误
Statements are not allowed in ambient contexts.ts(1036)
'Theme' only refers to a type, but is being used as a value here.ts(2693)

最佳答案

这可能是一个 hack,因为如果放在 .ts 中会引发错误。文件,但放在 .d.ts 中时似乎可以工作文件。
这个想法是使用一个名称导入类型并使用另一个名称导出。src/globals.d.ts :

import type { DeepPick as _DeepPick } from "ts-deep-pick";
declare global {
  export { _DeepPick as DeepPick };
}

关于typescript - 如何在 TypeScript 中将类型重新导出为全局类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61973864/

相关文章:

javascript - Typescript async/await 与 Observable 或 Promise

go - Go中嵌入式私有(private)接口(interface)的可见性

mysql - 导出没有主键的表数据

typescript - 如何在 TypeScript 中编写通用的、类型安全的高阶函数?

javascript - 如何识别 JavaScript 客户端上的 SignalR 核心集线器错误?

java - DAO 类未写入文件

c# - 如果你有一个只有抽象方法的抽象类怎么办?这与界面有何不同?

windows - Powershell 将多个 key 导出到一个 .reg 文件

ios - 如何在 Swift 3 中将核心数据导出为 CSV?

java - 如何在接口(interface)中定义构造函数签名?