Как использовать ES7 в nodejs?
Как я могу использовать ES7 (ECMAScript 2016) на nodejs? Как я могу использовать его в производства?
и в какой версии узла мне не нужно использовать какой-либо модуль для этого?
любая помощь приветствуется.
3 ответов
Примечание: этот вопрос явно касался ES2016 (ES7). См. обновления ниже для ES2017 (ES8).
ES7 имел только две основные функции:
Array.prototype.includes
-
**
(оператор возведения в степень)
Подробнее см. В разделе Сеть разработки Mozilla info:
- веб и JavaScript/ссылка/Global_Objects/массив/включает в себя
- Web / JavaScript / Справочник / Операторы / Arithmetic_Operators#Exponentiation_ (**)
по данным узлом.зеленые те доступны в узле с, соответственно:
- 5.0 с флагом гармонии и 6.0 без флага (массив.прототип.включает)
- 6.5 с флагом гармонии и 7.0 без флага (возведение в степень)
посмотреть:
- http://node.зеленый/#ES2016-особенности-массив-прототип-включает в себя
- http://node.зеленый/#ES2016-особенности-возведение в степень------оператор
экспоненциальность-это последняя функция 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:
- try / catch блоки с асинхронной / await
- узел.JS ~ построение цепной последовательности обещаний разрешает
- как запустить функции генератора параллельно?
- узел.JS ~ построение цепной последовательности обещаний разрешает
- использование async / await + Bluebird для promisifyAll
- jQuery: возврат данных после ajax call success
они включают больше информации о совместимости и возможных обходных путях.
есть этот сайт http://node.зеленый/ это показывает уровень совместимости различных версий NodeJS с различными версиями стандартов ES.