Cypress执行示例测试时遭遇SyntaxError: Unexpected token =问题求助
Cypress执行示例测试触发SyntaxError的解决方案
问题详情
在笔记本电脑搭建Cypress环境后,执行示例测试时出现SyntaxError: Unexpected token =错误。已尝试清理Cypress缓存、重新安装Cypress,但问题仍未解决。执行npm run test后终端报错如下:
C:\Users\u46827\AppData\Local\Cypress\Cache\10.7.0\Cypress\resources\app\node_modules\@packages\server\lib\plugins\child\run_plugins.js:40 invoke = (eventId, args = []) => { SyntaxError: Unexpected token = at new Script (vm.js:79:7) at createScript (vm.js:251:10) at Object.runInThisContext (vm.js:303:10) at Module._compile (internal/modules/cjs/loader.js:656:28) at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10) at Module.load (internal/modules/cjs/loader.js:598:32) at tryModuleLoad (internal/modules/cjs/loader.js:537:12) at Function.Module._load (internal/modules/cjs/loader.js:529:3) at Module.require (internal/modules/cjs/loader.js:636:17) at require (internal/modules/cjs/helpers.js:20:18) at Object.<anonymous> (C:\Users\u46827\AppData\Local\Cypress\Cache\10.7.0\Cypress\resources\app\node_modules\@packages\server\lib\plugins\child\run_require_async_child.js:6:24) at Module._compile (internal/modules/cjs/loader.js:688:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10) at Module.load (internal/modules/cjs/loader.js:598:32) at tryModuleLoad (internal/modules/cjs/loader.js:537:12) at Function.Module._load (internal/modules/cjs/loader.js:529:3)
同时伴随错误提示:
[3544:0904/215759.289:ERROR:dns_config_service.cc(278)] DNS配置监听失败。
解决步骤
1. 检查并升级Node.js版本
报错中的Unexpected token =是因为当前使用的Node.js版本不支持ES6默认参数语法(args = [])。Cypress 10.7.0要求Node.js版本≥14.0.0,操作如下:
- 终端执行
node -v查看当前版本 - 若版本低于14.x,下载安装Node.js最新LTS版本
- 重启终端确认版本更新成功
2. 彻底清理依赖并重新安装
- 删除项目根目录下的
node_modules文件夹 - 删除
package-lock.json文件 - 执行
npm install重新安装所有依赖 - 执行
npx cypress verify验证Cypress安装状态 - 再次运行
npm run test测试
3. 排查系统环境变量冲突
- 检查系统环境变量
PATH,确保新版本Node.js路径排在旧版本之前 - 重启终端后重新执行测试,避免环境变量未生效
内容的提问来源于stack exchange,提问作者Mirage Kamran
相关产品推荐
相关产品推荐

