Transforming Typoskript in JavaScript

stimmen
17

Ich frage mich , wie ist es möglich , die zu transformieren Typoskript in JavaScript in einer Cross - Plattform - Weise. Ich bin mir bewusst über die Verfügbarkeit von Knoten Paketmanager für Typoskript , aber gibt es andere Alternativen , die auf der Serverseite verwendet werden kann?

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


9 antworten

stimmen
25

Der Typoskript Compiler wird in Typoskript gebaut, und daher ist als JS - Datei ( tsc.js) , die fast jede ES3-compiliant VM oder JS Implementierung ausgeführt werden können.

Das heißt, die aktuelle Datei - I / O - Infrastruktur Compiler unterstützt nur Knoten und Windows Scripting Host - Datei - APIs. Wenn Sie sich für eine andere Umgebung mögen für die Unterstützung empfehlen, gerne an dem Team in unserer erreichen GitHub Website (ehemals CodePlex )

Beantwortet am 01/10/2012 um 19:36
quelle vom benutzer

stimmen
12

Vielleicht ist es nicht die Antwort, die Sie wollen, aber wie jeder erwähnt, ist der Compiler eine JS-Datei, so, Ihre Optionen sind die Optionen der Ausführung einer JS-Datei sind.

In Windows gibt es 2 offensichtlichen, Knoten und Windows Script Host.

Sie wissen über Knoten bereits, die andere Option ist eine Komponente, die mit allen Versionen von Windows kommt (ich glaube), können Sie es wie folgt tun:

cscript path/to/tsc.js source-file.ts

Sie können alle Compiler-Optionen sehen nur um:

cscript path/to/tsc.js

Unter Linux gehe ich davon aus, sollten Sie (zusätzlich zu Knoten) verwenden können:

  • V8 Standalone - Shell, ersetzen nodeoder cscriptmitv8-shell
  • ExecJS https://github.com/sstephenson/execjs
  • Jede andere JS Läufer auf der ausgewählten Plattform (eine andere Antwort erwähnt Rhino zum Beispiel)

Update: Eine andere Antwort schlägt der Compiler API ist nur kompatibel mit Knoten und Windows Script Host (cscript - Tool), so, wenn richtig ist , dann auf Linux Sie Knoten benötigen Typoskript zu kompilieren.

Wenn Sie so etwas wie suchen apt get tsc(oder was auch immer die Linux / Mac - Paket - Manager sind wie), ich glaube , es ist nicht.

Ich erinnere mich, irgendwo, dass die I / O für Knoten und Windows Script Host optimiert ist, so, wenn Sie Probleme mit Optionen haben, werden Sie wahrscheinlich mit Knoten am Ende, wenn die Plattformunabhängigkeit zu suchen.

Aktualisieren Sie : Eine andere Antwort hier das gleiche über die Kompatibilität bestätigt.

Beantwortet am 03/10/2012 um 04:23
quelle vom benutzer

stimmen
5

Konkret auf dem Server (vorausgesetzt der Server Node.js verfügbar ist), dann würden Sie einfach ausführen:

node path/to/tsc.js yourFile1.ts yourFile2.ts [etc]

Sie können diesen Befehl ohne Eingabedateinamen ausführen, um die Befehlszeilenhilfe für tsc.js. zu sehen

Beantwortet am 01/10/2012 um 23:39
quelle vom benutzer

stimmen
3

Ich habe ein Projekt, das Typoskript zu Javascript in Java erstellt:

https://github.com/martypitt/typescript4j

Wie in anderen Antworten erwähnt, macht diese Verwendung von Rhino, hat also keine Abhängigkeiten von npmoder node.

Hier ein Beispiel:

// Instantiate the compiler:
TypescriptCompiler compiler = new TypescriptCompiler();

// Compile a string:
String output = compiler.compile("class Greeter { greeting: string; }");

// Or, compile and output to a file:
compiler.compile(new File("example.ts"), new File('output.js'));

Ich benutze es in einem anderen Projekt - ‚Bakehouse‘ on-the-fly Kompilierung von Typoskript Ressourcen innerhalb Frühlings Umgebungen auszuführen

Beantwortet am 17/01/2013 um 08:35
quelle vom benutzer

stimmen
3

Wenn es Java, die Sie zielen müssen, dann könnten Sie tsc.js mit dem Rhino-Engine als Teil des Build-Prozesses ausgeführt werden.

Beantwortet am 02/10/2012 um 12:34
quelle vom benutzer

stimmen
2

Zum Kompilieren ts -> js: Knoten ist für alle gängigen Plattformen zur Verfügung, so dass ich nicht, warum Sie wollen würde eine tsc.java haben, wenn Sie bereits eine tsc.js. haben Installieren von Knoten ist keine große Sache. In der Tat ist es einfacher als Java.

Sobald Sie Ihre proj.js Datei haben, können Sie dann kopieren Sie es, auf die jemals Deployment-Plattform Sie verwenden möchten.

Aus meiner Sicht, JavaScript - oder genauer gesagt ist ECMAScript eine Alternative zu Java. Deshalb bin ich froh, dass ich muß usw. nicht hadern JVM das Tool zu verwenden. Aber wenn Sie Java bevorzugen, dann die Mühe, warum auch mit JS?

Beantwortet am 02/10/2012 um 01:12
quelle vom benutzer

stimmen
1

Ich habe mit diesem gespielt herum und kann Typoskript mit Javascript mit dem folgenden Code kompilieren:

<script src=typescript.js></script>

<script>

var scriptText = ""
        + "/// <reference path=\"test.ts\"/>" + "\r\n"
        + "class Car {"
        + "     constructor (private name: string) { } "
        + "     getName() { "
        + "         var juice = new Juice();"
        + "         return name; "
        + "     } "
        + "} "
        + "var car = new Car('Subaru Impreza');"
        + "console.log(car.getName());";





var TextWriter = function () { };

TextWriter.prototype = {
collected: '',

Write: function (sc) {
    this.collected += sc;
},
WriteLine: function(sc) {
    this.collected += sc + '\n';
},
toString: function() {
    return this.collected;
}
};

var output = new TextWriter();
var tsc = new TypeScript.TypeScriptCompiler(output);

var script = tsc.addUnit(scriptText, "");

tsc.emit();

console.log(output.toString());

</script>

Es ist nicht gerade obwohl ideal. Ich versuche, etwas zu bekommen, laufen, so kann ich Typoskript zu JS in C # (mit Javascript .NET) konvertieren, aber ich bin einen Stapelüberlauf auf dem ts.addUnit Anruf bekommen.

Beantwortet am 02/10/2012 um 18:48
quelle vom benutzer

stimmen
0

Dies ist, was für mich gearbeitet:

Zuerst installiert , um den typescript Knotenmodul >> npm install -g typescript. Daraus ergibt sich ein Kommandozeilenprogramm tsc.

Nächster, tsc gulpfile.ts gulp-config.ts typings/tsd.d.ts

  • dies wird transpiledie gulpfile.tsund gulp-config.tsDateien gulpfile.jsund gulp-config.js. Wir liefern die typings/tsd.d.tsDatei als Referenz für die korrekte transpilation.
  • Der typescript Knotenmodul deckt viele Optionen >> tsc -hangeben Ausgabeverzeichnis oder Datei etc. .

Hoffe das hilft.

Beantwortet am 23/05/2016 um 04:47
quelle vom benutzer

stimmen
0

SublimeText2 Trick Sie Typoskript Javascript direkt von SublimeText2 transpile können (Sie müssen Knoten):

Erstellen Sie eine Typescript.sublime-buildDatei in /Sublime Text 2/Packages/Usermit diesem Inhalt:

{
"cmd": ["tsc", "$file"],
"selector" : "source.ts",
"path": "/usr/local/bin:$PATH"
}

dann, jetzt, können Sie Ihren Code mit Strg + B oder cmd + B transpile

Beantwortet am 02/10/2012 um 07:46
quelle vom benutzer

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