首页 > 解决方案 > 如何编写导出 javascript 对象实例的 ts.d 文件

问题描述

我有一个想要为其生成类型的 js 文件。js 导出一个对象:

function Greeter(greeting) {
    this.greet = function() {
        console.log(this.greeting)
    }
}

module.exports = new Greeter("Hello")

我希望能够在 typescript 中导入和使用 greeter 对象:

import Greeter from ('greeter')
Greeter.greet()

哪个应该记录“你好”。

但我无法编写仅导出类的对象的 d.ts 文件。我尝试这样做:

export declare class Greeter {
    greet(): void
}

但是当“import g from {'greeter'}”时,g 没有 greet 方法(),但有一个 g.Greeter 类。

那么如何编写导出对象实例的 d.ts 文件呢?

标签: javascripttypescripttypescript-typings

解决方案


对于其他有同样问题的人。d.ts 文件应包含:

declare const _greeter: Greeeter
export default _greeter

推荐阅读