我试图描述的 Node 模块中的 U 函数.d.ts有两个别名,config()并且load()(请参阅源代码)。该函数可以这样描述dotenv/index.d.ts:
export function config(options?: dotenvOptions): Object;
Run Code Online (Sandbox Code Playgroud)
我如何也以其他别名导出它load()?
您可以声明一个类型:
declare type ConstructorMethod = (options?: dotenvOptions) => Object;
Run Code Online (Sandbox Code Playgroud)
(名字可以更好)
然后将两个方法导出为同一类型:
export const config: ConstructorMethod;
export const load: ConstructorMethod;
Run Code Online (Sandbox Code Playgroud)
PS 看起来返回类型实际上是object | boolean. 联合类型可能很烦人,但我想我可能会向您指出这个方向,以防您将来感到恼火:https://www.typescriptlang.org/docs/handbook/advanced-types.html(关于类型保护和区分类型)。只是我最近才遇到的一些很酷的东西。