Ich versuche, eine Bibliothek von Typoskript-Komponenten zu erstellen, die von einer anderen Bibliothek verwendet werden, die ebenfalls typoskriptbasiert ist. Wir verwenden derzeit webpack, um unsere Bündelung zu erreichen, wobei ts-loader als Ladeprogramm für die TS-Dateien verwendet wird.
Ich bin mir nicht sicher, wie ich die .d.ts-Dateien für die Beispielbibliothek unten erzeugen soll. Typescript erstellt die .d.ts-Dateien (wobei declaration
auf true gesetzt ist), aber es ist eine Datei pro Modul, für die ich eine .d.ts-Datei benötige, die von Konsumenten verwendet werden kann.
Meine Frage ist also, gibt es ein kanonisches Beispiel dafür, wie das zu erreichen ist? Gibt es eine Möglichkeit, dass Typoskript-Benutzer diese .d.ts-Dateien korrekt importieren können? Im Moment scheint es sehr wenig Dokumentation und Beispiele im Netz zu geben und würde jede Hilfe zu schätzen wissen.
Ich habe schließlich ein Problem auf der Typescript Github-Seite geöffnet und sie haben bestätigt, dass dies nicht möglich ist:
Meine Frage ist also, gibt es ein kanonisches Beispiel dafür, wie das zu erreichen ist? Gibt es eine Möglichkeit, dass Typoskript-Benutzer diese .d.ts-Dateien korrekt importieren können
Im Allgemeinen möchten Sie das Bundle nicht als Modulverbraucher verwenden. Das ist eine Aufgabe der Person, die die Bibliothek als endgültiges Website-Artefakt benutzt. Dies bedeutet, dass Sie nur foo.ts
/ foo.js
nebeneinander in den vom Knotenmodul bereitgestellten Artefakten haben. Diese können wie beim TypeScript-Compiler verwendet werden.
dts-bundle funktioniert wie ein Zauber für diesen Zweck.
Hier ist ein Beispiel, wie man es als Webpack-Plugin einrichten kann: Typings in einem Bündel
Tags und Links typescript webpack