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

Expo 47升级至50后Bare项目Jest module mapper配置错误

Expo 47 升级至 50 后 Bare 项目测试模块映射报错解决思路

问题概况

  • 项目类型:带测试用例和module mapper的Expo Bare项目
  • 操作:将Expo从47版本升级至50版本
  • 测试报错:测试套件运行失败,提示无法找到映射路径/Users/a.trofimenko/Documents/Work/ReactNativeProjects/zirtue-app/src/$1,此前测试可正常运行

可能原因

Expo 50对应React Native 0.71+,版本升级后,jest模块解析逻辑、jest-expo依赖版本或路径映射规则的兼容性出现变化,导致原有module mapper配置失效。

解决步骤

  • 检查jest路径映射配置:打开jest.config.js或package.json中的jest配置段,确认moduleMapper规则。比如原有规则若为^src/(.*)$: '<rootDir>/src/$1',需保证正则匹配正确,替换字符串中的$1引用无语法错误,避免多余的标点或路径偏差。
  • 同步jest-expo版本:确保jest-expo版本与Expo 50匹配(即jest-expo@50),执行npm install jest-expo@50 --save-dev或yarn add jest-expo@50 --dev,重新安装依赖。
  • 清理缓存:执行npx jest --clearCache清除jest缓存,必要时删除node_modules、package-lock.json/yarn.lock后重新安装依赖,排除缓存导致的解析异常。
  • 调整映射规则写法:若原有规则不兼容,可尝试更明确的路径写法,比如将^src/(.*)$的映射改为./src/$1,或根据项目根目录调整绝对路径的写法。
  • 同步babel别名配置:若项目使用babel-plugin-module-resolver配置路径别名,需确保其规则与jest的moduleMapper完全一致,避免解析冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:14:59