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

运行Jest时tsConfig.app.json配置的Typescript paths无法解析如何解决

解决步骤
  • 原配置失效有两个常见原因:一是只精确匹配了@app/core根路径,无法匹配该路径下的子模块导入;二是Jest默认读取根目录tsconfig.json的配置,你将paths写在tsconfig.app.json中Jest无法识别。按照以下步骤修正即可:
  1. 修正moduleNameMapper的正则匹配规则,覆盖所有子路径
// jest.config.js
moduleNameMapper: { 
  // 匹配所有@app/core开头的导入路径,包含子路径
  "^@app/core(.*)$": "<rootDir>/src/app/core$1" 
}
  1. 显式指定Jest读取你配置了paths的ts配置文件
    如果你使用ts-jest处理TypeScript代码,需要在transform配置中指定使用tsconfig.app.json,避免Jest读不到paths配置:
// jest.config.js
transform: {
  "^.+\\.(ts|tsx)$": ["ts-jest", {
    // 此处路径对应你存放paths配置的tsconfig文件路径
    tsconfig: "tsconfig.app.json"
  }]
}
  1. (可选)批量同步tsconfig的paths配置
    如果你的项目别名较多,不需要手动逐个编写moduleNameMapper规则,可以直接用ts-jest提供的工具自动从tsconfig读取paths配置:
// jest.config.js 头部导入工具
const { pathsToModuleNameMapper } = require('ts-jest');
// 读取你配置了paths的ts配置文件的编译选项
const { compilerOptions } = require('./tsconfig.app.json');

module.exports = {
  // 保留其他原有配置
  moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths, {
    prefix: '<rootDir>/'
  })
}
  • 配置完成后执行npx jest --clearCache清空Jest缓存,再运行测试即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 02:00:03