Vyhledávání na webu

TypeScript psaní souboru d.ts pro modul, který lze instanciovat


Mám problém s vytvořením souboru deklarace pro existující modul.

Při používání JavaScriptu modul importovaný pomocí syntaxe:

var Library = require('thirdpartylibs');
var libInstance = new Library();

Vytvořil jsem soubor d.ts s názvem thirdpartylibs.d.ts a přidal následující:

declare module 'thirdpartylibs'{
   export class Library{}
}

v mém souboru index.ts :

import * as Library from 'thirdpartylibs'
let libInstance = new Library() // <--- error here

zdá se, že bych měl použít let libInstance=new Library.Library(), aby to fungovalo, ale vygenerovaný JS na to selže.

někdo?

Odpověď č. 1

Zkus to

declare module 'thirdpartylibs'{
   class Library {
      ...
   }
   export = Library
}

Importovat

import Library = require('thirdpartylibs')
const libInstance = new Library()

Poznámka: tímto se Library stává tím exportem. Syntaxe, kterou jste používali, je „pojmenovaný export“

Související články