Búsqueda de sitios web

webpack - Compilando TypeScript con el objetivo establecido en 'ES3' o 'ES5' Interno


Acabo de entrar en el mundo de TypeScript y estoy tratando de trabajar con webpack ts-loader y babel-loader para compilar y transpilar TypeScript a ES5. Pero luego vi que hay una opción de compilador en tsc que puede apuntar a 'ES5', y sentí como '¿para qué estoy usando babel-loader entonces?'

Así que mis preguntas son:

  1. ¿Qué está sucediendo internamente cuando el compilador de TypeScript apunta a ES5?
  2. ¿Puedo usar ts-loader solo con la opción target de tsconfig para lograr mi objetivo?
  3. Si es así, ¿cuál camino es mejor? (ts-loader a ES6, luego babel-loader a ES5, o ts-loader con la opción target establecida en ES5)
  4. ¿Qué ocurre con el tree-shaking (característica de webpack2) en ambos casos?

Respuesta #1

¿Qué está sucediendo internamente cuando el compilador de TypeScript apunta a ES5?

Toma tu código TS/ES y lo transpila a ES5 (igual que Babel).

¿Puedo usar ts-loader solo con la opción target de tsconfig para lograr mi objetivo?

Sí. Eso es lo que hago.

Si es así, ¿cuál manera es mejor?

Opinión sesgada: https://medium.com/@basarat/typescript-won-a4e0dfde4b08

¿Qué ocurre con el tree-shaking (característica de webpack2) en ambos casos?

Lo mismo. Las exportaciones no utilizadas se eliminan.