网站搜索

为可以实例化的模块编写 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 成为 默认 导出。你之前使用的语法是“命名导出”

相关文章