Gibt es eine Möglichkeit, Typescript-Module so zu importieren oder mit Anmerkungen zu versehen, dass externe AMD-Module beim Generieren eines AMD-kompatiblen Moduls automatisch als Abhängigkeiten einbezogen werden ?:
%Vor%Ich habe versucht, sowohl eine Referenz * .d.ts-Datei als auch deklarative Anweisungen zu implementieren:
%Vor%Das generierte Modul enthält diese jedoch nicht:
%Vor%Möchte wirklich vermeiden, hier "falsche" Module zu erstellen.
Es scheint eine nette Lösung und Verwendung zu sein, den Import von AMD-Modulen direkt zu ermöglichen:
%Vor%aber ich weiß nicht, wie machbar das ist.
Bearbeiten:
Und ich habe auch diesen hier erwähnten Ansatz ausprobiert: Importieren Sie das TypeScript-Modul, das nur Ambient-Definition für die Verwendung in AMD verwendet
%Vor%, aber diese Compilerfehler erhalten:
%Vor%In den neueren Versionen von TypeScript ist die richtige Vorgehensweise ...
Schritt 1: Laden Sie die Definitionsdatei von NuGet herunter (d. h. jquery.typescript)
Schritt 2: Hier ist der Code (der Referenzkommentar ist in Visual Studio nicht erforderlich):
%Vor%Das resultierende JavaScript:
%Vor%Einige Leute hatten Probleme mit Knockout ... Die gleiche Technik funktioniert für Knockout ...
%Vor%Das resultierende JavaScript:
%Vor%Dies:
%Vor% Führt zu einem richtigen define
Aufruf:
Beachten Sie, dass der Compiler diese Abhängigkeit optimiert, wenn Sie keinen importierten Wert ( $
in diesem Beispiel) in einer value -Position verwenden (im Gegensatz zu nur in Typpositionen) .
Ryans Antwort funktionierte, außer dass die neue Deklaration die Typen verbirgt, auf die in der dreifach kommentierten ".d.ts" -Datei verwiesen wird.
Um dies zu umgehen, sollten Sie versuchen, die Deklaration wie folgt zu ändern:
%Vor%Ich habe nicht mit Knockout getestet, aber die Lösung sollte auch damit funktionieren.
Tags und Links requirejs typescript