React项目从Cypress 9.7.0迁移至10.7.0时出现Cannot find module '@angular/core' TypeScript错误求助
解决Cypress 10.x迁移中React项目出现的@angular/core找不到错误
遇到过一模一样的问题!Cypress 10+为了支持多框架组件测试,默认在node_modules/cypress目录下打包了Angular相关的类型声明文件,哪怕你的项目是纯React栈,TypeScript编译器在扫描类型文件时会读到这些Angular的.d.ts,而你的项目根本没装@angular/core依赖,所以就抛出了TS2307错误。
下面是几种亲测有效的解决办法:
方法1:修改项目根目录的tsconfig.json
在exclude数组里明确排除Cypress的Angular类型文件,避免TypeScript扫描到它们:
{ "compilerOptions": { // 保留你原有的编译配置 }, "exclude": [ "node_modules", "node_modules/cypress/angular", // 添加这一行排除Angular相关类型 "cypress/support/e2e.ts", // 其他你需要排除的文件/目录 ] }
方法2:使用Cypress专属的tsconfig.json(更推荐)
如果你的项目在cypress目录下有单独的tsconfig.json(这是Cypress 10+推荐的配置方式),直接在这个文件里添加排除规则,不会影响主项目的TypeScript配置:
{ "extends": "../tsconfig.json", "include": [ "**/*.ts" ], "exclude": [ "../node_modules/cypress/angular" // 添加这一行 ] }
方法3:检查并卸载意外安装的Angular依赖
如果之前误安装了@cypress/angular包(这通常不是必要的,除非你要测试Angular组件),可以直接卸载它:
npm uninstall @cypress/angular # 如果你用yarn的话: yarn remove @cypress/angular
完成以上操作后,重启Cypress并重新运行测试,这个找不到@angular/core的错误应该就会消失了。另外确认下你的cypress.config.ts里component部分的framework已经设置为create-react-app,就像你当前配置里的那样,这部分是没问题的~
内容的提问来源于stack exchange,提问作者Vin.AI
相关产品推荐
相关产品推荐

