You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装del@7.0.0后Cypress 12.5无法启动,如何解决?

解决Cypress导入del@7.0.0后无法启动的问题

问题原因

del 7.0.0是纯ES模块(ESM),而Cypress 12.5默认的配置文件(cypress.config.js)使用CommonJS语法,无法通过require()加载ESM模块,这会导致Cypress启动时触发模块加载错误,进而无法正常运行。

解决方案

有两种可行的解决方式,可根据项目配置习惯选择:

方式1:将Cypress配置改为ESM格式

  1. 将cypress.config.js重命名为cypress.config.mjs
  2. 把导入del的语句替换为ESM语法:
    import del from 'del'
    
  3. 配置文件的导出也需改为ESM格式,完整示例:
    import { defineConfig } from 'cypress'
    import del from 'del'
    
    export default defineConfig({
      e2e: {
        setupNodeEvents(on, config) {
          on('after:spec', (spec, results) => {
            if (results?.video && results.stats.failures === 0 && results.stats.tests > 0) {
              // 删除测试通过的用例对应的视频文件
              return del(results.video)
            }
          })
        },
      },
    })
    

方式2:降级del到CommonJS兼容版本

如果不想修改配置文件格式,可以降级del到支持CommonJS的版本:

  1. 卸载当前版本:
    npm uninstall del
    
  2. 安装兼容CommonJS的旧版本(如6.1.1,该版本同时支持ESM和CommonJS):
    npm install del@6.1.1 --save-dev
    
  3. 继续使用原来的const del = require('del')语句,无需修改其他配置代码。

验证

修改完成后重新启动Cypress,即可正常选择浏览器并运行测试,同时测试通过的视频文件会被自动删除。

内容的提问来源于stack exchange,提问作者Mag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 22:45:29