Babel v6 - плагин transform-es2015-classes в свободном режиме выдает SyntaxError: неожиданный идентификатор для async/await
Я обновился до последней версии Babel v6. Однако я заметил, что с помощью transform-es2015-classes
Плагин со свободным режимом на ( https://github.com/bkonkle/babel-preset-es2015-loose/blob/master/index.js#L8) прерывает асинхронные / ожидающие функции. Например:
function _asyncFunc (value) {
return new Promise((resolve) => {
setTimeout(() => resolve(value), 10);
});
}
class TestActions {
async asyncAction(returnValue) {
const result = await _asyncFunc(returnValue); // exception here
return result;
}
}
Разрывы со свободными на этой линии:
var result = await _asyncFunc(returnValue);
^^^^^^^^^^
SyntaxError: Unexpected identifier
Babelrc выглядит следующим образом (также я использую среду регенератора, импортируя ее в точку входа import 'babel-runtime/regenerator/runtime';
):
{
"presets": [
"es2015-loose",
"react",
"stage-0"
]
}
Мне нужно использовать свободный режим из-за этой ошибки Babel - https://phabricator.babeljs.io/T3041
Есть обходные пути?
1 ответ
Это была ошибка в Babel v6, и она уже была исправлена в 6.3.15
просто обновите ваши пакеты, пр - https://github.com/babel/babel/pull/3135