2016-04-05 2 views
10

У меня установлен последний NodeJS и для любых файлов JavaScript, я могу выполнить его с node myscript.js, но в последнее время я изучаю es6 и для некоторых последних синтаксисов, он просто выдает некоторые ошибки/исключения при выполнении. Я пробовал babel-cli, но, похоже, не работал, поскольку он предназначен для компиляции es6 до 5, а не для выполнения командной строки.Как выполнить скрипты es6 из CLI

+0

зависит от того, какие функции вы используете, у последнего узла есть хорошая, но частичная поддержка ES6 (например, нет модулей). Если вы хотите использовать узел, попробуйте babel-node https://babeljs.io/docs/usage/cli/ – Hitmands

+0

лучшее место для игры с es6: https://babeljs.io/repl/ – JordanHendrix

ответ

24

1) Чтобы включить поддержку ES6, использовать --harmony флаг:

node --harmony myscript.js 

Это позволит доступный синтаксис ES6 в узле. Но обратите внимание, что в настоящее время это ограниченное подмножество стандарта ES6 (см. compatibility table).

2) Чтобы иметь полную совместимость, вы должны использовать babel cli.
Babel поставляется с CLI babel-node, который работает точно так же, как и CLI Node.js, только он скомпилирует код ES6 перед его запуском.

babel-node myscript.js 
+1

Вот таблица совместимости, которая показывает, какие функции es6 доступны в разных версиях узла: https://kangax.github.io/compat-table/es6/ – HeadCode

+1

Я установил babel-cli по всему миру и попытаюсь запустить файл со следующим содержимым: var [a , b, c] = [1, 2, 3, 4]; console.log (a, b, c); он сказал синтаксическую ошибку, но разве это не должно быть простым деструктурированием es6? – photosynthesis

Смежные вопросы