2017-05-11 24 views
0

Ich verwende ein Knotenmodul, das nicht von typings gefunden wurde und nicht in definelytyped existiert.Deklarationsdatei für Funktionsmodul (TypeScript)

die grundlegende Verwendung des Moduls ist:

import * as someFunc from 'some-module'; 

someFunc("some string"); 

Wie Sie sehen können, exportiert dieses Modul eine Funktion als Standard. Ich habe nicht herausgefunden, wie man die Deklarationsdatei dafür schreibt.

Dies ist das Beste, was ich tun verwaltet:

declare module 'some-module' { 
    export default function someFunc(someArg: string): void; 
} 

BTW es JavaScriptly funktioniert. Es stört mich nur das TypeScript.

Irgendwelche Ideen, um das zu lösen?

Antwort

2

Erklärung:

declare module 'some-module' { 
    var exportFunction : (arg: string) => void; 
    export = exportFunction; 
} 

Nutzung:

import * as someFunc from "some-module"; 
someFunc(a)'; 

ist, wie dies getan werden kann.

+0

Die öffnende Klammer (in var exportFunction = (arg: string) => void;) ist mit rot gekennzeichnet: TS7011: Funktionsausdruck, der keine return-type Annotation hat, hat implizit den Rückgabetyp "any". – Alon

+0

behoben. Sollte eine Typangabe anstelle einer Zuordnung sein, ändern Sie = zu: – Martijn

Verwandte Themen