Sieht aus wie Typoskript ein schönes Modulsystem hat jedoch dies die Notwendigkeit für so etwas wie requirejs ersetzt? Mit anderen Worten, wenn Sie auf „Übersetzen“ ein Typoskript Paket macht es für Sie alle Abhängigkeitsauflösung umgehen? Beispiele hierfür wären dankbar!
Typoskript Paketverwaltung
quelle vom benutzer Abdullah Jibaly
In anderen Sprachen...
Typoskript hat keine Laufzeitmodul-Loader. Sie werden noch ein Modul Loader verwenden zur Laufzeit zur Verfügung stellen müssen, zB erfordern js. Typoskript unterstützt Erzeugen compatable JavaScript-Code mit entweder Commonjs (für node.js Skripte) und AMD Lader (zB requireJS). Um anzugeben, welche mit Durchlauf in der „--module“ -Schalter an den Compiler zu verwenden entweder „AMD“ oder „Commonjs“.
Hier ist, wie Sie ein Modul in Typoskript exportieren:
export module depModule {
export class A {
}
}
und hier ist der generierte JavaScript-Code mit --module amd-Schalter:
define(["require", "exports"], function(require, exports) {
(function (depModule) {
var A = (function () {
function A() { }
return A;
})();
depModule.A = A;
})(exports.depModule || (exports.depModule = {}));
})
Typoskript kann emittieren Code, der wie Knoten wie requirejs oder Commonjs Umgebungen mit beide AMD-kompatibelen Abhängigkeit Lader arbeiten. Sie können dies steuern, mit der --module Option für den Compiler. Der Compiler selbst keine Auflösung von Abhängigkeiten zur Laufzeit behandeln, das ist bis zu Ihnen zu arbeiten, aber es funktioniert Versuch resolve Abhängigkeiten bei der Kompilierung, so dass es Ihnen Informationen geben geben kann.
Sie können Beispiele von Projekten sehen , die Module im Testverzeichnis auf CodePlex, verwenden Sie diese zum Beispiel. Die Ausgabe dieser Testprojekte kompiliert sind Js Dateien , die ladbare entweder mit zum Beispiel sein, requirejs (wenn Sie übergeben --module amd) oder Knoten (wenn Sie übergeben --module Commonjs).
Wenn Ihre Anwendung nur durch Typoskript Module werden zusammengesetzt wird / Dateien ist es möglich, nicht Modul-Loader oder andere Abhängigkeitsmanagement zu verwenden. Sie werden alle Abhängigkeiten mit Kommentaren Referenzen umfassen müssen, und die --out Option des Compilers verwenden. Z.B:
tsc --out compiled.js app.ts
Dies wird compiled.js die generierten js für app.ts Hineinlegen und alle seine Abhängigkeiten, einschließlich Abhängigkeiten von Abhängigkeiten. Die resultierende Datei kann dann mit dem Skript-Tag direkt in der HTML-Datei enthalten sein. Es kann auch minimierte werden. Modul Laden zur Laufzeit wird nicht unterstützt