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

在cy.origin中使用Cypress.require报找不到typescript模块,降级版本可解决

Cypress 12.6.0中使用Cypress.require触发"Cannot find module 'typescript'"错误

问题场景

我尝试使用Cypress 12.6.0新增的Cypress.require方法,在cy.origin回调中引入外部依赖。根据官方说明,该方法支持任意TypeScript模块。

尝试代码

test.js

module.exports = {
    foo: 'bar',
};

test.cy.ts

describe('Some test', (): void => {
   it('should work', (): void => {
      cy.origin('https://example.com', (): void => {
         const test = Cypress.require('./test.js');
         cy.log('test', test);
      });
   });
});

Cypress配置文件

export default defineConfig({
    e2e: {
        baseUrl: 'http://0.0.0.0:4200',
        supportFile: 'cypress/support/e2e.ts',
        defaultCommandTimeout: 10000,
        video: false,
        experimentalOriginDependencies: true,
    },
});

错误信息

运行测试用例时触发错误:

Error: Cannot find module 'typescript'

补充说明

我的Angular项目已正常使用TypeScript,Cypress运行TypeScript编写的测试套件完全正常,仅在使用Cypress.require时出现问题,且引入普通JS模块或TypeScript ES6模块都会触发该错误。

临时解决方法(2023年2月20日更新)

未找到问题根源的情况下,将Cypress降级至12.5.1版本,使用原生require替代Cypress.require后,测试可稳定运行,代码示例如下:

// test.cy.ts
describe('Some test', (): void => {
   it('should work', (): void => {
      cy.origin('https://example.com', (): void => {
         const test = require('./test.js');
         cy.log('test', test);
      });
   });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:39:33