2016-07-10 4 views
1

Ich habe eine Bibliothek in node_modules/ installiert und ich möchte einen schnellen Hack, damit ich es in Typoskript App verwenden kann. Im Ordner typings/modules habe ich einen Ordner mit dem Namen des Moduls und einer index.d.ts Datei erstellt. In dieser Datei habe ichSo erstellen Sie Typings für ts

declare module "lib-name" { 
    export default class Logger { 
    constructor(namespace: string) 
    } 
} 

ich in der Lage bin, das Modul zu importieren, aber wenn ich zu let l = new Lib('namespace'); versuche ich bin immer Fehler cannot use 'with' an expression whose type lacks a call or construct signature

Antwort

1

Ich glaube nicht, Sie class in Ihrer Typisierung haben sollten. Es handelt sich um einen Schnittstellenvertrag, den Sie deklarieren sollten.

Darüber hinaus sagt die Dokumentation, dass der neue Ausdruck einer new Methode in der Schnittstelle benötigt: https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html

Versuch etwas Ähnliches vielleicht:

declare module "lib-name" { 
    interface Logger { 
    new (namespace: string): Logger 
    } 

    export var Logger: Logger; 
} 
+0

Gott segne dich !! –