我正在尝试使用ES2018语法运行赛普拉斯测试:
describe("Cypress test", () => {
const objA = { a: 1, b: 2 };
const objB = { ...objA };
...
}
Run Code Online (Sandbox Code Playgroud)
但是当执行时,我得到:
SyntaxError: /....../cypress/loginTest.js: Unexpected token (29:17)
27 |
28 | const objA = { a: 1, b: 2 };
> 29 | const objB = { ...objA };
| ^
Run Code Online (Sandbox Code Playgroud)
我还尝试使用以下插件检查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));
};
Run Code Online (Sandbox Code Playgroud)
似乎已经有了babel-preset-env设置.
请问有什么想法吗?
不确定这是否有帮助,但这对我有用:
我已经成功地轻松启用了新的 es 功能(包括扩展运算符),只需使用插件和此处的cypress-webpack-preprocessor示例
更多信息可以在此讨论中找到: https : //github.com/cypress-io/cypress/issues/905和cypress文档
请注意,您还必须将所需的babel 预设作为node依赖项包含在package.json文件中并安装它们!
我还找到了这个预处理器:cypress-babel-esx-preprocessor,但从未尝试过,因为webpacker 解决方案立即起作用。
最后,您可能还想在cypress的 Electron 中观看此更新 Chrome 版本的请求,因为它应该开箱即用地启用es-2018 。