Как использовать ES7 в nodejs?

Как я могу использовать ES7 (ECMAScript 2016) на nodejs? Как я могу использовать его в производства?

и в какой версии узла мне не нужно использовать какой-либо модуль для этого?

любая помощь приветствуется.

3 ответов


Примечание: этот вопрос явно касался ES2016 (ES7). См. обновления ниже для ES2017 (ES8).

ES7 имел только две основные функции:

  1. Array.prototype.includes
  2. ** (оператор возведения в степень)

Подробнее см. В разделе Сеть разработки Mozilla info:

по данным узлом.зеленые те доступны в узле с, соответственно:

  • 5.0 с флагом гармонии и 6.0 без флага (массив.прототип.включает)
  • 6.5 с флагом гармонии и 7.0 без флага (возведение в степень)

посмотреть:

экспоненциальность-это последняя функция ES7, которая была добавлена в узел, поэтому, если вы хотите использовать все функции ES7 без флагов, вам нужен хотя бы узел 7.0. Если вы можете использовать --harmony флаг, то вы можете использовать по крайней мере узел 6.5.

в 6.версия x-LTS (долгосрочная поддержка), поэтому вы можете предпочесть ее 7.x но вам понадобится флаг для использования функций ES7.

на момент написания этой статьи текущие версии узла являются:

  • v6.10.3 LTS (рекомендуется для большинства пользователей)
  • v7.10.0 Current (Последние Возможности)

v8.0 LTS будет выпущен в ближайшее время - в настоящее время вы можете использовать ночные сборки узла 8.0.

для подробнее о графике выпуска-см.:

для загрузки других версий-см.:

обновление для ES2017

отвечая на вопрос из комментариев, async / await является особенностью ES2017 (ES8), а не ES2016 (ES7), как этот вопрос. См.:

  • спецификация: последний проект ECMAScript (ECMA-262) определение "асинхронной функции" в этой спецификации.
  • Статус: Проект
  • комментарий: начальное определение в ES2017.

async / await в узле

вы можете использовать async / await in:

  • узел 7.0 с --harmony флаг
  • узел 7.6 без какого-либо флага

для получения дополнительной информации см.:

в местах, где у вас нет родной поддержки async и await вы можете использовать Вавилон:

или с немного другим синтаксисом подход на основе генератора, как в co или Bluebird coroutines:

см. эти ответы для больше info:

они включают больше информации о совместимости и возможных обходных путях.


есть этот сайт http://node.зеленый/ это показывает уровень совместимости различных версий NodeJS с различными версиями стандартов ES.


вам нужно использовать флаг --harmony, например:

node --harmony server.js