Мне нужно сделать свой javascript (который находится в среде, отличной от Node.js) обратно совместимым, поэтому я пытаюсь использовать Babel для переноса моего кода, как предложено в этом посте
babel-standalone прекрасно работает, за исключением того, что, похоже, не работает с оператором распространения / отдыха
Например, прекрасно работает следующее:
var input = 'const getMessage = (D) => {return D}';
var output = Babel.transform(input, { presets: ['es2015'] }).code;
Однако следующее вызывает ошибку:
var input = 'const getMessage = (D) => {...D}';
var output = Babel.transform(input, { presets: ['es2015'] }).code;
Ошибка ниже
babel.min.js:2 Uncaught SyntaxError: unknown: Unexpected token (1:26)
> 1 | const getMessage = (D) => return {D}
| ^
babel.min.js:2 Uncaught SyntaxError: unknown: Unexpected token (1:27)
> 1 | const getMessage = (D) => {...D}
| ^
at t.J.raise (babel.min.js:7)
at t.X.unexpected (babel.min.js:5)
at te.parseExprAtom (babel.min.js:6)
at te.parseExprSubscripts (babel.min.js:6)
at te.parseMaybeUnary (babel.min.js:6)
at te.parseExprOps (babel.min.js:6)
at te.parseMaybeConditional (babel.min.js:6)
at te.parseMaybeAssign (babel.min.js:6)
at te.parseExpression (babel.min.js:6)
at t.z.parseStatement (babel.min.js:5)
babel.js:14449 Uncaught SyntaxError: unknown: Unexpected token (1:27)
> 1 | const getMessage = (D) => {...D}
| ^
at Parser.pp$5.raise (babel.js:14449)
at Parser.pp.unexpected (babel.js:11756)
at Parser.pp$3.parseExprAtom (babel.js:13745)
at Parser.pp$3.parseExprSubscripts (babel.js:13489)
at Parser.pp$3.parseMaybeUnary (babel.js:13469)
at Parser.pp$3.parseExprOps (babel.js:13399)
at Parser.pp$3.parseMaybeConditional (babel.js:13376)
at Parser.pp$3.parseMaybeAssign (babel.js:13339)
at Parser.pp$3.parseExpression (babel.js:13301)
at Parser.pp$1.parseStatement (babel.js:11901)
Смотрите мой кодовый код здесь
Страница babel-standalone github гласит: «Она в комплекте со всеми стандартными плагинами и пресетами Babel», но, похоже, не переносит использование мной оператора распространения