¿Puede TypeScript compilar a código ES6?


Básicamente necesito ser capaz de escribir TypeScript en mi IDE (esto introduce una gran facilidad de desarrollo), compilarlo en ES6 (un futuro próximo de js ) y luego aplicar babel.js (ya que todos los navegadores no admiten la mayoría de ES6) para obtener los scripts ES5 resultantes.

Es esto posible o ¿cómo puedo lograr el mismo resultado?

Author: zmii, 2015-05-25

4 answers

Sí.

Puede dirigir el compilador de TypeScript a ES6.

Por ejemplo, agregue esto a su línea de comandos args:

--target es6
 36
Author: Sahar Menashe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-16 11:38:36

Sí, puedes.

Ya sea agregando --target es2015, o agregando target a Su tsconfig.json:

{
  "compilerOptions": {
    "target": "es2015"
  }
}

Las opciones soportadas para target son:

  • " ES3 " (predeterminado)
  • " ES5 "
  • "ES6"/"ES2015"
  • "ES2016"
  • "ES2017"
  • "ESNext"

Hay muchas más opciones de configuración. Puedes explorarlos aquí: Opciones del compilador

Algunas opciones solo se permiten en tsconfig.json, y no a través de la línea de comandos interruptor.

 6
Author: Olaf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-08 22:45:58

TypeScript es más o menos ES6 con muy poco azúcar sintáctico. Le sugeriría que escribiera Vanilla ES6 en lugar de TypeScript, pero por otro lado, vale la pena poner herramientas de TypeScript en el esfuerzo adicional de escribir TypeScript y transpilarlo en ES6 y dejar que Babel haga el resto.

Aquí hay una opción más conveniente como se indica en un comentario, desde TypeScript 1.5 tiene la capacidad de transpilar a ES6.

 3
Author: Adi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-11 09:20:19

Puede usar typescript para escribir ES6 puro y luego transpilar a ES3 o ES5. Dado que typescript es ES6 plus golosinas.

Véalo como usar Less para escribir su CSS, puede escribir CSS puro en un archivo less y se compilará bien.

Para la especificación de lenguaje typescript 1.8:

TypeScript es un azúcar sintáctico para JavaScript. La sintaxis de TypeScript es un superconjunto de la sintaxis de ECMAScript 2015 (ES2015). Cada programa JavaScript es también un programa TypeScript.

La sintaxis de TypeScript incluye todas las características de ECMAScript 2015, incluidas clases y módulos, y proporciona la capacidad de traducir estas características en código compatible con ECMAScript 3 o 5.

 3
Author: lebobbi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-11 20:25:59