TypeScript skriver d.ts-fil for modul som kan instansieres
Jeg har problemer med å lage deklarasjonsfil for en eksisterende modul.
Når man bruker javascript, importeres modulen ved hjelp av syntaksen:
var Library = require('thirdpartylibs');
var libInstance = new Library();
jeg har opprettet en d.ts-fil kalt thirdpartylibs.d.ts og lagt til følgende:
declare module 'thirdpartylibs'{
export class Library{}
}
i min index.ts-fil :
import * as Library from 'thirdpartylibs'
let libInstance = new Library() // <--- error here
ser ut som om jeg bør gjøre let libInstance=new Library.Library() for at det skal fungere, men det vil feile på den genererte JS.
noen?
Svar #1
Prøv dette
declare module 'thirdpartylibs'{
class Library {
...
}
export = Library
}
Å importere
import Library = require('thirdpartylibs')
const libInstance = new Library()
Merk: dette gjør Library til eksporten. Syntaksen du brukte er en «navngitt eksport»
