threads parse nodejs node example child node.js ecmascript-7

node.js - nodejs - node url parse



¿Cómo puedo usar ES7 en nodejs? (3)

Existe este sitio http://node.green/ que muestra el nivel de compatibilidad de diferentes versiones de NodeJS con diferentes versiones de estándares ES.

¿Cómo puedo usar ES7 (ECMAScript 2016) en nodejs ? ¿Cómo puedo usarlo en producción ?

¿Y en qué versión de nodo, no necesito usar ningún módulo para hacer eso?

Cualquier ayuda es apreciada.


Necesitas usar la bandera de armonía por ejemplo:

node --harmony server.js


Nota: esta pregunta fue explícitamente sobre ES2016 (ES7). Vea las actualizaciones a continuación para ES2017 (ES8).

El ES7 tenía solo dos características principales:

  1. Array.prototype.includes
  2. ** (el operador de exponenciación)

Ver en la Red de Desarrollo de Mozilla para más información:

Según node.green, están disponibles en Node desde, respectivamente:

  • 5.0 con bandera de armonía y 6.0 sin bandera (Array.prototype.includes)
  • 6.5 con bandera de armonía y 7.0 sin bandera (exponenciación)

Ver:

La exponenciación es la última función de ES7 que se agregó a Node, por lo que si desea utilizar todas las funciones de ES7 sin indicadores, necesita al menos Node 7.0. Si puede usar el indicador --harmony , entonces puede usar al menos el Nodo 6.5.

La versión 6.x es LTS (Soporte a largo plazo), por lo que es posible que desee preferirlo a la versión 7.x, pero necesitará la marca para usar las funciones de ES7.

En el momento de escribir esto, las versiones actuales de Node son:

  • v6.10.3 LTS (Recomendado para la mayoría de los usuarios)
  • v7.10.0 actual (últimas características)

Próximamente se lanzará v8.0 LTS; actualmente puede usar las versiones nocturnas de Node 8.0.

Para obtener más información sobre el calendario de lanzamiento, consulte:

Para otras versiones para descargar - ver:

Actualización para ES2017

Respondiendo a la pregunta de los comentarios, async / await es una característica de ES2017 (ES8), no de ES2016 (ES7) de la que se trató esta pregunta. Ver:

  • Especificación: ECMAScript Último borrador (ECMA-262) La definición de ''función asíncrona'' en esa especificación.
  • Estado: Borrador
  • Comentario: Definición inicial en ES2017.

asíncrono / espera en Nodo

Puedes usar async / await en:

  • Nodo 7.0 con la bandera --harmony
  • Nodo 7.6 sin ninguna bandera

Para más información ver:

En lugares donde no tienes soporte nativo para async y await puedes usar Babel:

o con una sintaxis ligeramente diferente, un enfoque basado en generador como en co o Bluebird coroutines:

Ver esas respuestas para más información:

Incluyen más información sobre la compatibilidad y posibles soluciones.