Babel salió específicamente fusionando `6to5` y` esnext `, los dos proyectos populares a finales de 2014 / principios de 2015.
No solo existe para transpilar código para Node (que todavía no es compatible con todo ES2015, por ejemplo, desestructuración de objetos, parámetros o módulos predeterminados. Transpila código para ES5 para cualquier entorno que cumpla con los estándares (o que cumpla en su mayoría) – principalmente navegadores web.
Como desarrollador de Node.js, a menudo veo características y mejoras que realmente no me gustan ni necesito. Pero la cuestión es que JavaScript no es realmente popular debido a Node. Somos solo una pequeña fracción de los usuarios y desarrolladores de JS. JavaScript es popular debido a los navegadores.
- ¿Cuál es la mejor manera de detectar un cambio en un cuadro de texto HTML?
- ¿Qué son los desencadenantes en MySQL?
- ¿Cuál es la mejor manera de crear un sitio web para mi canal de YouTube por menos de $ 40, sin pagar tarifas mensuales o anuales, y sin tener ningún conocimiento de programación?
- ¿Cuál es la mejor manera de desarrollar una aplicación web: Ruby On Rails, Sinatra, HTML5, JavaScript?
- ¿Cuáles son las tareas más difíciles que tuvo que hacer como desarrollador web?
Y la mayoría de los navegadores no funcionan tan bien como Node.js en lo que respecta a la implementación de especificaciones EcmaScript. Significa que ni siquiera somos realmente el público objetivo . Está dirigido más a los desarrolladores frontend de JavaScript.
Además, ni siquiera somos los más avanzados del grupo. Node.js sigue a V8, y es habitual que escojamos una versión y nos quedemos con ella por un tiempo. Mientras tanto, los equipos de Chromium y Chrome impulsan el desarrollo de V8. P.ej. los parámetros predeterminados mencionados están llegando a Chrome 49 (V8 JavaScript Engine: V8 Release 4.9), y significa que llegará al nodo al menos meses después.
¿Por qué surgieron estos dos proyectos (esnext y 6to5, pero también otros), y después Babel, en primer lugar?
Porque en, por ejemplo. 2014 el ES2015 aún no se completó. No era una especificación completa, era un borrador. Pero ES2015 (entonces conocido principalmente como ES6) era una extensión de JavaScript que quería mejorar muchas cosas.
Pero el estándar EcmaScript en sí mismo no solo estaba hecho de la nada: se basaba en las cosas que los desarrolladores dijeron que querían y que les faltaba. Además, estaba basado en el azúcar que las herramientas existentes ya proporcionaban. Entonces, las herramientas, los transpiladores ya existían, los desarrolladores querían prepararse para las nuevas características lo antes posible, por lo que usaron los transpiladores hasta que los navegadores y Node implementaron todas las características de ES2015.