2016-08-12 2 views
2

Ich habe 3 NodeJS-Pakete, von denen 2 zu npm später veröffentlicht werden und sind in Javascript, ich möchte für sie Typings enthalten haben. Wie mache ich das richtig?Wie können Typoskript-Typings für js-Pakete, die in npm veröffentlicht werden, korrekt eingebunden werden?

Ich habe eine Bibliothek common, eine user-facing und ein Beispiel. Die Probe hängt von user-facing ab, während die davon abhängt common.

Ich habe Typings-Datei für jede .js-Datei in jedem Paket erstellt, ich habe "typings" Direktive in package.json für jedes Paket mit Angabe der wichtigsten Tipp-Datei enthalten.

Aber wenn ich versuche, meine Probe zu kompilieren tsc findet richtig die Typisierungen für user-facing aber dann beschwert sich, dass es nicht weiter Typisierungen in den Dateien von user-facing finden können, die common importieren möchten.

Wie kann ich mein Beispiel lokal ausführen, ohne vorher die Typisierung zur Registrierung zu veröffentlichen?

Antwort

4

Sie sollten Dinge nicht in der Registrierungsdatenbank für von Ihnen erstellte Bibliotheken veröffentlichen müssen. Sie können ihre eigenen Typings tragen. Die Typisierungsregistrierung dient zum Erstellen von Typisierungen für Bibliotheken, die von anderen erstellt wurden.

Sie wollen in den package.json

Example here

"typings": "./yourentry.d.ts",

ein Typisierung Element aufzunehmen und dann die auf bauen, um die Dateien .d.ts Typisierung produziert

In Ihrem TSconfig :

{ "compilerOptions": {, "declaration": true,

Dadurch können TSC und VSCODE es finden und wenn Benutzer eine npm-Installation ausführen, wird es nur für Kompilierzeit und Intellisense funktionieren.

+0

Vielen Dank für die Bestätigung. Noch eine Sache, gibt es eine Möglichkeit, die 3rd-Party-Typen des heruntergeladenen Moduls herunterzuladen, wenn dieses npm-Modul installiert wird, ohne sie explizit in den '' 'sample''''s typings.json anzugeben? – Ritave

0

Nevermind, hatte ich einen Tippfehler in "Typ" -Richtlinie. Doing npm link zu "installieren" die abhängigen Pakete war genug.

Verwandte Themen