включить параметры по умолчанию ES2015 с помощью Babel и JSPM

Я впервые настраиваю JSPM/Babel и пробую несколько функций ES6.

Кажется, что только некоторые функции работают с преобразованием по умолчанию, поэтому я попытался включить предустановку ES2015, используя как package.json, так и файл .babelrc, как показано ниже:

"presets": ["es2015"]

Это, кажется, не имеет никакого эффекта.

Я пытаюсь добавить параметр по умолчанию в функцию, поэтому хочу заменить следующую функцию

exports.width = function(x) {
    if (!arguments.length) return width;
    width = x;
    return this;
};

с

exports.width = function(x = width) {
    width = x;
    return this;
};

Однако я продолжаю получать ошибку Uncaught SyntaxError: Unexpected token =.

Установил пресет npm install babel-preset-es2015 --save-dev, а так же пытаюсь установить отдельный плагин, но никак.


person amigolargo    schedule 19.11.2015    source источник
comment
Это работает для меня, используя babel 6.2.0. Можете ли вы проверить свою версию babel и попробовать babel filename.js --presets es2015?   -  person Nick Tomlin    schedule 19.11.2015
comment
да, это 5.8.34, и команда babel работает нормально. Я ответил на свой вопрос, немного покопавшись, см. ниже. Спасибо!   -  person amigolargo    schedule 19.11.2015
comment
Рад, что ты понял это. Ваше здоровье.   -  person Nick Tomlin    schedule 19.11.2015


Ответы (1)


А, похоже, JSPM будет транспилировать только модули ES6, поэтому вам нужно передать флаг всем модулям, отличным от ES6, чтобы заставить их транспилироваться, поэтому "format es6"; вверху файла.

Что странно, так как он транспилировал лямбда-функции =>, но не параметры по умолчанию.

person amigolargo    schedule 19.11.2015