升级@testing-library/jest-dom至6.4.1后遭遇TS2309错误求助
问题背景
升级@testing-library/jest-dom从6.3.0到6.4.1后,构建时触发TypeScript错误:
Error: node_modules/@testing-library/jest-dom/types/matchers.d.ts:713:1 - error TS2309: An export assignment cannot be used in a module with other exported elements.
713 export = matchers
可行解决方案
检查TypeScript版本兼容性
@testing-library/jest-dom 6.4.x对TypeScript版本有更高要求,通常需要TS 5.0及以上版本。查看项目当前TS版本,若低于要求,升级TypeScript到兼容版本后重新构建。临时回退版本
若需快速恢复构建,可先将@testing-library/jest-dom回退至6.3.0版本,等待官方修复类型定义问题,或找到适配配置后再尝试升级。排查类型依赖冲突
检查项目中@types/jest等Jest相关类型库的版本,确保其与@testing-library/jest-dom 6.4.1兼容。不同版本的类型定义可能存在冲突,尝试将@types/jest升级到匹配版本。调整TypeScript配置
在tsconfig.json中修改模块解析相关配置:- 将
moduleResolution设置为NodeNext或Node16 - 确保
allowSyntheticDefaultImports设为true
这些配置会改变TypeScript对模块导出的解析逻辑,可能解决export assignment的冲突问题。
- 将
查看官方Issue
去@testing-library/jest-dom的代码仓库搜索该错误,确认是否为新版本已知bug。若为已知问题,可能已有临时修复方案或官方正在推进修复,可跟进相关issue的解决进度。
内容的提问来源于stack exchange,提问作者João Esperancinha

