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

Jest无法解析TypeScript路径映射,抛出模块未找到错误

解决Jest无法识别TypeScript路径映射的问题

方案一:手动配置Jest的moduleNameMapper

在Jest配置文件(如jest.config.js或jest.config.ts)中,添加与tsconfig路径一一对应的映射规则,让Jest能解析别名:

module.exports = {
  // 其他Jest基础配置
  preset: 'ts-jest',
  testEnvironment: 'node', // 若为浏览器环境可改为'jsdom'
  moduleNameMapper: {
    '^@utils/(.*)$': '<rootDir>/utils/$1',
    '^@helpers/(.*)$': '<rootDir>/ui/helpers/$1',
    '^@domElements/(.*)$': '<rootDir>/core/dom/$1',
    '^@networking/(.*)$': '<rootDir>/networking/$1',
    '^@components/(.*)$': '<rootDir>/ui/components/$1',
    '^@decorators/(.*)$': '<rootDir>/core/decorators/$1',
    '^@eventFunctions/(.*)$': '<rootDir>/ui/event functions/$1'
  }
};

方案二:自动同步tsconfig路径(避免重复配置)

如果不想手动维护两份路径规则,可借助tsconfig-paths工具自动同步tsconfig中的配置:

  1. 安装依赖:
npm install --save-dev tsconfig-paths
  1. 修改Jest配置,添加初始化脚本:
module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  setupFilesAfterEnv: ['<rootDir>/jest.setup.js']
};
  1. 创建jest.setup.js文件,写入路径注册逻辑:
const tsconfig = require('./tsconfig.json');
const tsconfigPaths = require('tsconfig-paths');

tsconfigPaths.register({
  baseUrl: '.', // 与tsconfig中的baseUrl保持一致
  paths: tsconfig.compilerOptions.paths
});

验证配置

修改完成后,重新运行测试命令:

npx jest

此时Jest即可正确识别tsconfig中配置的路径别名,解决模块找不到的报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:15:34