2017-12-13 6 views
2

Angenommen, ich veröffentliche eine benutzerdefinierte Bibliothek namens my-library. Diese Bibliothek wird von der StrukturTypescript 2: Benutzerdefinierte Typdefinition in node_modules

node_modules/ 
    my-library/ 
     lib/ 
      index.js 
      src/ 
       ... 
     typings/ 
      index.d.ts 
     package.json 

Say jetzt exportieren Ich Standard etwas Application aus den index.js genannt, so dass Sie es verwenden, um import Application from 'my-library';

nun in meinem index.d.ts Ich möchte seine Eingabe erklären:

export = Application; 
export as namespace Application; 

declare namespace Application { 
    function foo(arg1: string): object; 
} 

ich weiß, erwarten, dass dies einen Fehler zurückzugeben, aber es funktioniert nicht:

import Application from 'my-library'; 

Application.foo(123)[0].blahblah; 

Nicht nur das Argument ist falsch, sondern auch die Verwendung des Rückgabewerts. Ich weiß nicht, wie ich meine Typdefinitionen hinzufügen soll, damit das obige funktioniert.

+0

Der [MQTT] (https://github.com/mqttjs/MQTT.js) -Modul ist ein schönes Beispiel dafür, dass Schiffe mit Typen, sind sie einen Ordner 'types' genannt werden. –

Antwort

0

Sie können here suchen, um zu sehen, wo Typescript nach Definitionen sucht.

Was Sie wahrscheinlich wollen, ist ein types in Ihrem package.json hinzufügen, um auf eine benutzerdefinierte Definitionsdatei zu zeigen.

{ 
    "types": "typings/index.d.ts", 
} 
Verwandte Themen