Utilice compilador mecanografiado del nodo

votos
10

Es bastante fácil de hacer esto con coffeescript.

var coffee = require('coffee-script');
coffee.compile(a = 1);
//=> '(function() {\n  var a;\n\n  a = 1;\n\n}).call(this);\n'

¿Hay una manera de hacer esto con mecanografiado?

Editar: también publicado en CodePlex

Publicado el 04/10/2012 a las 15:39
fuente por usuario
En otros idiomas...                            


6 respuestas

votos
9

Parece que hoy en día existe una solución simple, que puede hacer:

let ts = require('typescript');
let source = ts.transpileModule('class Test {}', {}).outputText;

Esto resulta en:

"use strict";
var Test = (function () {
    function Test() {
    }
    return Test;
}());
Respondida el 04/12/2015 a las 09:49
fuente por usuario

votos
8

mejor necesita podría ayudar a lograr esto.

Le permite require () archivos mecanografiado - sin pre-compilación necesario - y un montón de otros formatos de archivo (CoffeeScript, clojurescript, YAML, XML, etc.)

require('better-require')();
var myModule = require('./mymodule.ts');

Divulgación: Escribí mejor requiere.

Respondida el 01/11/2012 a las 15:55
fuente por usuario

votos
8

Desde el módulo de NPM mecanografiado no exporta ninguna interfaz pública, la única manera de hacer esto es actualmente para ejecutar el tscproceso.

var exec = require('child_process').exec;

var child = exec('tsc main.ts',
                function(error, stdout, stderr) {
                    console.log('stdout: ' + stdout);
                    console.log('stderr: ' + stderr);
                    if (error !== null) {
                      console.log('exec error: ' + error);
                    }
                });

Un problema ha sido abierta para solicitar una interfaz pública para el módulo de mecanografiado .

Respondida el 04/10/2012 a las 16:16
fuente por usuario

votos
6

Compruebe este proyecto github por niutech, se puede convertir el código de transcripción de código JS sobre la marcha en el navegador , pero creo que puede ser fácilmente modificado para que funcione en node.js.

Lo encontré mientras estoy investigando la posibilidad de mecanografiado apoyo en mi vida, editor de código incendiario de inspiración .

Respondida el 07/10/2012 a las 07:44
fuente por usuario

votos
4

No responder a la pregunta directamente, pero desde Google para "ejecutar mecanografiado del nodo directamente" trae a colación esta página StackOverflow, supongo que debo añadir que eres capaz de hacer esto con ts-nodo: https://github.com/TypeStrong / ts-nodo

Respondida el 15/01/2016 a las 14:16
fuente por usuario

votos
0

La documentación oficial acerca de cómo utilizar la API de mecanografiado transpiler para generar fuente de JavaScript desde un archivo Ts:

https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#user-content-transpiling-a-single-file

La documentación oficial acerca de cómo utilizar la API de mecanografiado compilador para compilar un archivo ts o un proyecto de TS

https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#user-content-a-minimal-compiler

(La tarde no responde a la pregunta original, pero es muy común para acceder / modificar el AST y luego transpile al objeto de lenguaje por lo que podría ser útil)

Respondida el 09/05/2018 a las 02:52
fuente por usuario

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