Ich habe TypeScript hier und da für Webanwendungen verwendet und auf Definitionen für den öffentlichen Typ verwiesen, die über DefinedTyped zur Verfügung gestellt wurden Mir ist es immer entgangen, wie man wiederverwendbare Bibliotheken in TypeScript erstellen würde, um von einer TypeScript-Anwendung oder einer anderen Bibliothek konsumiert zu werden.
Die meisten Anleitungen zu diesem Thema scheinen direkt darauf zu verweisen, wie man Typdefinitionen für Bibliotheken erstellen oder finden würde, die ursprünglich in JavaScript erstellt wurden. Was aber mit in TypeScript geschriebenen Bibliotheken passiert, scheint ein Mechanismus für die gemeinsame Nutzung der resultierenden js-Dateien und eines entsprechenden Typs zu sein Die Definitionsdatei sollte etwas sein, das gewöhnlich ist, aber ich konnte niemanden finden, der versucht, dies für private oder öffentliche Bibliotheken zu tun. Vielleicht suche ich an den falschen Stellen? Gibt es eine Geschichte zum Erstellen und Verwenden von TypeScript-Bibliotheken.
Um eine TS-Bibliothek zu erstellen, die von einem TS-Projekt verbraucht wird, müssen Sie nicht viel tun.
(Entschuldigen Sie, wenn das Beispiel zu ausführlich ist.)
Wenn Ihre Quelldateien in TypeScript geschrieben werden, benötigen Sie die folgenden Konfigurationsoptimierungen:
Wichtig ist hier im Wesentlichen declarations: true
, die dem TS-Compiler mitteilen, dass er die d.ts-Dateien erzeugen soll.
Wichtig ist hier "main" und "typings", was der Einstiegspunkt für den Service in der Bibliothek ist. Wenn jemand require("my-typescript-library")
hätte, dann würde die hier aufgelistete Datei verwendet werden. Das Typisierungsfeld ist ähnlich, hilft aber offensichtlich bei TypScript.
Sie schieben diese Bibliothek dann zu Github, oder Bitbucket, oder wo auch immer.
Sie brauchen hier nicht viel.
Fügen Sie eine Abhängigkeit zu Ihrer Bibliothek hinzu:
%Vor%In diesem Beispiel benötigen Sie einen SSH-Schlüssel.
Dann importieren Sie einfach die lib.
Sie haben also eine TypeScript-Bibliothek in einer TypeScript-App. Hoffe, das ist genug von einer Antwort (und klar genug), sonst sag mir einfach eine Zeile.
Nun, ich denke, dass Sie Module für diesen Zweck verwenden können, Module sind wie Namespace in c #, z. B.
%Vor%Grüße,
Tags und Links typescript libraries