Javascript 如何在cypress插件中运行es6?

Javascript 如何在cypress插件中运行es6?,javascript,node.js,cypress,Javascript,Node.js,Cypress,Cypress插件运行节点8.2.1进程中的代码,该进程不支持对象的扩展运算符。我需要一个使用它的文件。是否有一种变通方法要求在节点10环境中运行文件?默认情况下,Cypress插件文件在与Cypress的Electron应用程序捆绑在一起的节点中运行 您可以通过两种方式解决此问题: 使用@babel/registerplugin自动编译导入插件文件的文件。记住,这个变通方法不适用于插件文件本身 首先,安装它: npm安装-D@babel/register@babel/plugin提案对象res

Cypress插件运行节点8.2.1进程中的代码,该进程不支持对象的扩展运算符。我需要一个使用它的文件。是否有一种变通方法要求在节点10环境中运行文件?

默认情况下,Cypress插件文件在与Cypress的Electron应用程序捆绑在一起的节点中运行

您可以通过两种方式解决此问题:

  • 使用
    @babel/register
    plugin自动编译导入插件文件的文件。记住,这个变通方法不适用于插件文件本身

    首先,安装它:

    npm安装-D@babel/register@babel/plugin提案对象rest-spread
    
    然后,在您的
    插件/index.js
    之上,执行以下操作(babel@7):

    require(“@babel/寄存器”)({
    插件:[“@babel/plugin提案对象rest spread”]
    });
    

  • 使用系统的节点可执行文件运行插件文件

    Cypress允许您设置控制此行为的
    nodeVersion

    例如,在
    cypress.json
    中设置:

    {
        "nodeVersion": "system"
    }
    
    注意:这当然只有在系统的节点已经支持该功能时才有效


  • 可能是我错了,节点环境应该取决于您在计算机中安装了什么。基于Cypress的
    package.json
    ,我看到它支持
    “节点”:“>=8.2.1”