Как использовать babel-standalone для переноса ES6 javascript, который использует оператор распространения / отдыха? - PullRequest
0 голосов
/ 04 июля 2019

Мне нужно сделать свой 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», но, похоже, не переносит использование мной оператора распространения

...