为可以实例化的模块编写 TypeScript 的 d.ts 文件
我在为现有模块创建声明文件时遇到问题。
在使用 JavaScript 时,使用以下语法导入模块:
var Library = require('thirdpartylibs');
var libInstance = new Library();
我创建了一个名为 thirdpartylibs.d.ts 的 d.ts 文件,并添加了以下内容:
declare module 'thirdpartylibs'{
export class Library{}
}
在我的 index.ts 文件中:
import * as Library from 'thirdpartylibs'
let libInstance = new Library() // <--- error here
看起来我应该做 let libInstance=new Library.Library() 才能使它工作,但它在生成的 JS 上会失败。
有人吗?
答案#1
试试这个
declare module 'thirdpartylibs'{
class Library {
...
}
export = Library
}
导入
import Library = require('thirdpartylibs')
const libInstance = new Library()
注意:这使得 Library 成为 默认 导出。你之前使用的语法是“命名导出”
