Type Definition file for @types/cache-manager具有以下定义:
interface Cache {
del(key: string): Promise<any>;
// 11 other Method Signitures (removed for brevity)
}
还有:
declare namespace cacheManager {
function caching(IConfig: StoreConfig): Cache;
function multiCaching(Caches: Cache[]): Cache;
}
export = cacheManager;
我想在代码中使用Cache
接口-但无法访问它(因为它没有导出)。我的问题是这样:
答案 0 :(得分:1)
第一个问题:我会拒绝,但这只是我的意见。
第二个问题:我不知道有什么方法可以访问未导出的定义。但是,由于Cache
是导出函数的返回类型,因此可以从那里提取它,例如:
import * as CacheManager from "cache-manager";
type Cache = ReturnType<typeof CacheManager.caching>;
您的另一种选择是使用Braid之类的工具将@types/cache-manager
包派生到您的项目中(披露:我是Braid贡献者),将其注册为相对路径依赖项package.json
,然后进行所需的任何更改。