Transformer tapuscrit en JavaScript

voix
17

Je me demande comment est - il possible de transformer le tapuscrit en JavaScript de manière multi - plateforme. Je suis au courant de la disponibilité du gestionnaire de paquets de noeud pour tapuscrit , mais sont - il d'autres alternatives qui peuvent être utilisés sur le côté serveur?

Créé 01/10/2012 à 19:16
source utilisateur
Dans d'autres langues...                            


9 réponses

voix
25

Le compilateur dactylographiée est construit en tapuscrit, et est donc disponible sous forme de fichier JS ( tsc.js) qui peut être exécuté en utilisant à peu près tout ES3-VM ou compiliant mise en œuvre JS.

Cela dit, l' infrastructure d' E / S de fichier actuel du compilateur ne supporte que les API de fichiers hôte et nœud de script Windows. Si vous souhaitez recommander un soutien à un autre environnement, ne hésitez pas à tendre la main à l'équipe de notre site de GitHub (Anciennement CodePlex )

Créé 01/10/2012 à 19:36
source utilisateur

voix
12

Peut-être que ce n'est pas la réponse que vous voulez, mais comme tout le monde dit, le compilateur est un fichier JS, donc, vos options sont les options d'exécution d'un fichier JS.

Sous Windows, il y a 2 plus évidentes, Noeud et Windows Script Host.

Vous connaissez déjà le noeud, l'autre option est un composant qui est livré avec toutes les versions de Windows (je pense), vous pouvez le faire comme ceci:

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

Vous pouvez voir toutes les options du compilateur par simplement:

cscript path/to/tsc.js

Sur Linux, je suppose que vous devriez être en mesure d'utiliser (en plus de nœud):

  • Shell autonome V8, remplacer nodeou cscriptavecv8-shell
  • ExecJS https://github.com/sstephenson/execjs
  • Tout autre coureur JS disponible sur la plate-forme sélectionnée (une autre réponse mentionnée Rhino par exemple)

Mise à jour: Une autre réponse suggère l'API du compilateur est uniquement compatible avec nœud et Windows Script Host (outil cscript), donc, si elle est correcte, puis sur Linux , vous aurez besoin de nœud pour compiler tapuscrit.

Si vous cherchez quelque chose comme apt get tsc(ou quels que soient les gestionnaires de paquets Linux / Mac sont comme), je pense qu'il n'y a pas.

Je me souviens avoir lu quelque part que l'E / S est optimisé pour le nœud et Windows Script Host, donc, si vous avez des problèmes avec des options, vous finirez probablement avec nœud si la plate-forme indépendantiste.

Mise à jour: Une autre réponse confirme ici même sur la compatibilité.

Créé 03/10/2012 à 04:23
source utilisateur

voix
5

Concrètement, sur le serveur (en supposant que votre serveur a Node.js disponible), vous souhaitez simplement courir:

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

Vous pouvez exécuter cette commande sans noms de fichiers d'entrée pour afficher l'aide en ligne de commande pour tsc.js.

Créé 01/10/2012 à 23:39
source utilisateur

voix
3

J'ai un projet qui compile dactylographiée au Javascript en Java:

https://github.com/martypitt/typescript4j

Comme nous l' avons dans d' autres réponses, ce qui rend l' utilisation de Rhino, donc n'a pas de dépendances sur npmou node.

Voici un exemple:

// 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'));

Je l' utilise dans un autre projet - « Bakehouse » pour effectuer la compilation sur la volée des ressources dactylographiées dans des environnements de printemps

Créé 17/01/2013 à 08:35
source utilisateur

voix
3

Si c'est Java que vous devez cibler vous pouvez alors exécuter tsc.js avec le moteur Rhino dans le cadre de votre processus de construction.

Créé 02/10/2012 à 12:34
source utilisateur

voix
2

Pour compiler ts -> js: noeud est disponible pour toutes les plates-formes communes, donc je ne vois pas pourquoi vous voudriez avoir un tsc.java lorsque vous avez déjà un tsc.js. Installation nœud est pas grand. En fait, il est plus facile que Java.

Une fois que vous avez votre fichier proj.js, vous pouvez le copier sur la plate-forme de déploiement qui jamais que vous souhaitez utiliser.

De mon point de vue, JavaScript - ou plus exactement ECMAScript est une alternative à Java. Je suis donc heureux que je n'ai pas JVM etc quereller pour utiliser l'outil. Mais si vous préférez Java, alors pourquoi même pas la peine avec JS?

Créé 02/10/2012 à 01:12
source utilisateur

voix
1

Je joue autour avec cela, et peut compiler avec tapuscrit javascript avec le code suivant:

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

Ce n'est pas exactement idéal cependant. Je suis en train de faire quelque chose en cours d'exécution, je peux convertir tapuscrit à JS au sein de C # (en utilisant Javascript .NET), mais je reçois un débordement de pile sur l'appel ts.addUnit.

Créé 02/10/2012 à 18:48
source utilisateur

voix
0

C'est ce qui a fonctionné pour moi:

Tout d' abord, installé le typescript module de noeud >> npm install -g typescript. Cela donne une ligne de commande utilitaire tsc.

Prochain, tsc gulpfile.ts gulp-config.ts typings/tsd.d.ts

  • ce sera transpilela gulpfile.tset des gulp-config.tsfichiers gulpfile.jset gulp-config.js. Nous fournissons le typings/tsd.d.tsfichier en tant que référence pour transpilation correct.
  • Le typescript module de nœud couvre de nombreuses options >> tsc -hpour spécifier le répertoire de sortie ou d'un fichier, etc. .

J'espère que cela t'aides.

Créé 23/05/2016 à 04:47
source utilisateur

voix
0

SublimeText2 Trick Vous pouvez transpile tapuscrit à javascript directement à partir SublimeText2 (vous avez besoin noeud):

Créez un Typescript.sublime-buildfichier /Sublime Text 2/Packages/Useravec ce contenu:

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

puis, maintenant, vous pouvez transpile votre code avec ctrl + B ou cmd + B

Créé 02/10/2012 à 07:46
source utilisateur

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