Поддержка ES2018 в тестах Cypress?(Оператор распространения объекта) - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь запустить Cypress-тест с синтаксисом ES2018:

describe("Cypress test", () => {

  const objA = { a: 1, b: 2 };
  const objB = { ...objA };

  ...
}

Но при выполнении я получаю:

SyntaxError: /....../cypress/loginTest.js: Unexpected token (29:17)
  27 | 
  28 |   const objA = { a: 1, b: 2 };
> 29 |   const objB = { ...objA };
     |                  ^

Я также пытался проверить пресеты browserifyсо следующим плагином:

// plugins.js
const browserify = require("@cypress/browserify-preprocessor");

module.exports = (on) => {
  const options = browserify.defaultOptions;

  // Check presets
  console.log(options.browserifyOptions.transform[1][1].presets);

  on("file:preprocessor", browserify(options));
};

и, похоже, уже настроен babel-preset-env.

Есть идеи, пожалуйста?

1 Ответ

0 голосов
/ 10 сентября 2018

Не уверен, поможет ли это, но вот что сработало для меня:

Мне удалось довольно безболезненно включить новые функции es (в том числе оператор распространения ), просто используяплагин cypress-webpack-preprocessor и примеры здесь

Более подробную информацию можно найти в этом обсуждении: https://github.com/cypress-io/cypress/issues/905 и в cypress ' документации

Обратите внимание , что вам также необходимо включить желаемые предустановки babel в виде node зависимостей в ваш файл package.jsonи установите их!

Я также нашел этот препроцессор: cypress-babel-esx-препроцессор , но никогда не пробовал его, так как решение веб-упаковщика работал сразу.

Наконец, вы также можете посмотреть этот запрос на обновление версии Chrome в cypress Electron, так как он должен включать es-2018 просто из коробки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...