gpt4 book ai didi

javascript - 类模块的声明文件 (TypeScript)

转载 作者:搜寻专家 更新时间:2023-10-30 21:29:48 26 4
gpt4 key购买 nike

我使用了一个无法通过 typings 找到并且不存在于 definelytyped 中的 Node 模块。

模块的基本使用是:

import * as SomeClass from 'some-module';

var someObject = new SomeClass("some string");
someObject.someMethod();

如您所见,此模块默认导出一个类。我还没有想出如何为它编写声明文件。

这是我设法做到的最好的:

declare module 'some-module' {
export default class SomeClass {
constructor (someArg: string);
someMethod(): void;
}
}

顺便说一句,它确实以 JavaScript 方式工作。只有 TypeScript 困扰着我。

有什么解决办法吗?

最佳答案

对于声明,您需要这样做:

declare module 'some-module' {
class SomeClass {
constructor (someArg: string);
someMethod(): void;
}
namespace SomeClass {}
export = SomeClass;
}

更新:感谢 Blake Embrey 指出,需要 hack namespace SomeClass {} 才能使其正常工作。见https://github.com/Microsoft/TypeScript/issues/5073了解更多详情。

关于javascript - 类模块的声明文件 (TypeScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42980143/

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