【发布时间】:2021-04-16 08:06:46
【问题描述】:
我有这个 TYPES.d.ts 文件,我在其中声明了一个 TYPES 命名空间
declare namespace TYPES {
type TYPE_A = XXX;
type TYPE_B = YYY;
}
然后我使用的是:const someFunc = (param: TYPES.TYPE_A): void => { ... };
效果很好。
但现在我想在 TYPES 命名空间上添加一个类型,它是 NPM 包中存在的类型的返回类型。
TYPES.d.ts
import type { SomeType } from "some-npm-package";
declare namespace TYPES {
type SOME_TYPE = ReturnType<typeof SomeType>;
}
但这会“破坏”d.ts 文件,因为 Typescript 似乎认为它是一个模块,而不是定义文件。
我怎样才能做到这一点并且仍然能够通过我的命名空间访问它?
【问题讨论】:
-
它在 ts 操场上工作 typescriptlang.org/…
-
@captain-yossarian 谢谢。但问题在于
import语句。在您的示例中,只有声明的命名空间,它工作正常。
标签: typescript import namespaces .d.ts