我有一个 Node C++ 插件,它提供了一个类似于 Node 文档中的包装类。我可以 require() 我的插件,然后为我的类获取构造函数来创建一个实例。
const { MyClass } = require('myaddon');
const obj = new MyClass('data');
现在我想使用 TypeScript 来做同样的事情。我找不到 .d.ts 文件和导入语句的正确组合来完成这项工作。我想理想情况下我想声明我的类在模块中并且有一个采用字符串的构造函数。然后我可以这样做:
import { MyClass } from 'myaddon';
const obj = new MyClass('data');
人们见过这样的例子吗?
最佳答案
我想我终于明白了。正如@ZachB 所建议的,我创建了一个包含以下内容的 myaddon.ts 文件:
const myaddon = require('./build/release/myaddon')
export interface MyClass {
myMethod(arg: string): number
}
export var MyClass: {
new(param: string): MyClass
} = myaddon.MyClass
然后使用它:
import { MyClass } from 'myaddon'
const thing: MyClass = new MyClass('something')
const answer: number = thing.myMethod('blah')
关于Node C++ Addon 的 Typescript 声明文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44275172/