side react create app javascript babeljs

javascript - react - ¿Se requiere Babel en 2018?



reactjs server side rendering (2)

No estar fuera del tema: como principiante, recomiendo mantenerse alejado de las herramientas y las configuraciones. Puede ser abrumador, especialmente en tierras JS. Solo concéntrate en el aprendizaje, las herramientas vendrán más tarde. Puede comenzar a usar ES6 de inmediato sin necesidad de herramientas.

Una forma es usar un REPL o un área de juegos en línea. Una herramienta que me gusta es https://stackblitz.com. Este sitio web le permite tener una idea real de npm importar módulos de npm para ayudar a su código. Si está en Chrome, puede abrir la consola del desarrollador y ver los mensajes que envía desde el patio de recreo a la consola del desarrollador.

https://developer.chrome.com/devtools

Aquí hay un patio de recreo que hice para que comiences

https://stackblitz.com/edit/react-t3wxth?file=index.js

Estoy aprendiendo JavaScript ahora mismo y algunos dijeron que después de aprender HTML y CSS y Javascript de vainilla necesito tener el conocimiento sobre ES6 / ES2015. Cuando veo tutoriales en Youtube dice que necesitamos a Babel o algo así para que el navegador lo lea. Así que me pregunto porque ese video no es tan viejo (pero sigue siendo viejo). ¿Sigue siendo necesario que Babel o yo nos saltemos esta cosa de Babel?


Babel es un compilador de JavaScript a JavaScript, a veces llamado transpiler , que convierte el código escrito con un conjunto de características (por ejemplo, las de ES2015 y posteriores) en código que puede ejecutarse en un entorno de JavaScript que no es compatible con ellas. caracteristicas. (Hay otros, Babel es uno muy popular).

Si utiliza Babel para transpilar su código ES2015 + a ES5, depende totalmente de usted y de qué entornos de destino desee admitir. Si desea admitir cualquier versión de IE (incluido IE11), por ejemplo, deberá realizar la transcripción. Si solo necesita ser compatible con Chrome, Firefox y Edge u otros entornos en los que pueda contar con las características que usa (como las instalaciones actualizadas de Node.js), no es así.

Kangax tiene un conjunto de tablas útiles para lo que los motores de JavaScript y / o los navegadores admiten cuáles de las características más modernas de JavaScript (no solo ES2015, sino ES2016, ES2017, etc.).

Babel (y las herramientas similares) son útiles más allá del simple uso de las funciones estandarizadas más recientes, al menos en dos formas:

  1. Puede usar Babel (y similares) para aprovechar las características que probablemente se estandaricen pronto, aunque aún no estén bien soportadas. Por ejemplo, los aspectos básicos de los campos de clase pública no han cambiado en mucho tiempo, pero la propuesta en la que se encuentran es todavía (hasta el momento de este escrito en junio de 2018) en la Etapa 3 (y ha estado yendo y viniendo entre la Etapa 2 y Etapa 3 un par de veces) por razones no relacionadas con los campos de clase pública, y ni siquiera los navegadores de vanguardia como Chrome, Firefox y Edge tienen soporte para campos de clase pública todavía. Pero es común, en estos días, usar campos de clase a través de un transpiler.

  2. Puede escribir su propia transformación de Babel (o similar) para agregar sus propias funciones a JavaScript para su propio proyecto (o utilizar las que otras personas han escrito), incluso si esas características nunca formarán parte de JavaScript o se utilizarán fuera de su proyecto.