Typoskript Paketverwaltung

stimmen
14

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!

Veröffentlicht am 03/10/2012 um 19:58
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
16

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 = {}));
})
Beantwortet am 03/10/2012 um 20:07
quelle vom benutzer

stimmen
3

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).

Beantwortet am 03/10/2012 um 20:11
quelle vom benutzer

stimmen
2

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

Beantwortet am 04/10/2012 um 19:46
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more