Плагины Cypress запускают код в процессе node 8.2.1, который не поддерживает оператор распространения для объектов. Мне нужен файл, который его использует. Есть ли обходной путь, чтобы потребовать файл, который работает в среде узла 10?
По умолчанию файл плагинов Cypress запускается в узле, который поставляется вместе с приложением Cypress Electron.
Вы можете обойти это двумя способами:
Автоматически компилируйте файлы, импортированные в файл плагинов, с помощью плагина @babel/register
. Помните, что этот обходной путь не будет работать для самого файла плагинов.
Сначала установите его:
npm install -D @babel/register @babel/plugin-proposal-object-rest-spread
Затем, вдобавок к вашему plugins/index.js
, сделайте (babel@7):
require("@babel/register")({
plugins: [ "@babel/plugin-proposal-object-rest-spread" ]
});
Запустите файл плагинов, используя исполняемый файл Node вашей системы.
Cypress позволяет установить nodeVersion
конфигурация, который управляет этим поведением.
Например, установите в cypress.json
:
{
"nodeVersion": "system"
}
Примечание: это, конечно, работает, только если узел вашей системы уже поддерживает эту функцию.
Возможно, я ошибаюсь, среда узла должна зависеть от того, что вы установили на свой компьютер. Основываясь на
package.json
Cypress, я вижу, что он поддерживает"node": ">=8.2.1"