Просмотр полной версии : nodejs и destructuring assignment
"use strict";
let [, ,p1,p2] = ["Юлий", "Цезарь", "Император", "Рима"];
console.log(p1);
console.log(p2);
Нода выдает ошибку:
Unexpected token
let [
Юзаю последнюю версию ноды.
Я так понимаю не поддерживает сабж.
Пробовал:
babel my.js -o out.js
out.js почему то идентичен my.js,
только кое где пробелы удалены :(
что я делаю не так?
зы в лисе код с destructuring assignment работает
yazonnile
22.02.2016, 21:57
точно бабел правильно пробовали?
https://babeljs.io/repl/#?experimental=false&evaluate=false&loose=false&spec=false&code=let%20%5B%2C%20%2Cp1%2Cp2%5D%20%3D%20%5B%22%D 0%AE%D0%BB%D0%B8%D0%B9%22%2C%20%22%D0%A6%D0%B5%D0% B7%D0%B0%D1%80%D1%8C%22%2C%20%22%D0%98%D0%BC%D0%BF %D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%22%2C%20%22%D 0%A0%D0%B8%D0%BC%D0%B0%22%5D%3B%0D%0A
Исходный код:
"use strict";
let [ , ,p1,p2] = ["Юлий", "Цезарь", "Император", "Рима"];
console.log(p1);
console.log(p2);
Выполняю команду:
babel dest-node-4forum.js
В консоль выводится:
"use strict";
let [,, p1, p2] = ["Юлий", "Цезарь", "Император", "Рима"];
console.log(p1);
console.log(p2);
Те то же самое.
Что я могу делать не так, ни пойму :(
Юзаю последнюю версию ноды.
Я так понимаю не поддерживает сабж.
Нода еще не поддерживает деструктуризацию.
Пробовал:
babel my.js -o out.js
out.js почему то идентичен my.js
А бабель настроен хоть? В шестой версии его переделали под универсальную платформу для компиляции диалектов ES, и из коробки он вообще ничего не делает. Нужно сперва подключить соответствующие плагины (либо пресет - это уже подобранный набор плагинов).
http://babeljs.io/docs/plugins/ - общая справка.
http://babeljs.io/docs/plugins/preset-es2015/ - пресет, реализующий компиляцию всех фич ES6.
https://www.npmjs.com/package/babel-preset-es2015-node5 - пресет, реализующий компиляцию только тех фич ES6, которые еще не поддерживаются нодой.
Спасибо, помогли :).
Еще вопрос:
если я инсталю пресет в директорию со своими скриптами,
все работает.
Но если инсталю пресет глобально
(npm c ключом -g),
то babel пишет не найду пресет
Как сконфигурить так, чтоб находились пресеты,
установленные глобально?
инсталю пресет глобально
А зачем? При таком подходе запаришься проект на другую машину переносить: придется заново подбирать все модули.
Сами разработчики советуют устанавливать все зависимости локально (http://discuss.babeljs.io/t/error-parsing-jsx-with-global-installation-babel-preset-react/59/7).
Нужен учебник или статьи по babeljs на русском.
SuperZen
25.07.2018, 12:32
$ node --version
v10.6.0
let [, , p1, p2] = ["one", "two", "three", "four"];
console.log(p1);
в консоле: three
без бабеля
Нужен учебник или статьи по babeljs на русском.
vBulletin® v3.6.7, Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot