Jest配置报错:无法找到模块 '@/app/utils/regex'
解决Jest找不到
@/app/utils/regex模块的问题 问题原因
你的Jest配置里,moduleNameMapper仅配置了@/_components/的路径映射,但代码中用到的@/app/前缀没有对应的映射规则,导致Jest无法解析该路径。
修复步骤
修改jest.config.ts中的moduleNameMapper,添加@/app/的映射规则:
import type { Config } from 'jest' import nextJest from 'next/jest.js' const createJestConfig = nextJest({ dir: './', }) const config: Config = { setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'], moduleDirectories: ['node_modules', '<rootDir>/src'], moduleNameMapper: { '^@/_components/(.*)': '<rootDir>/src/_components/$1', // 添加@/app路径的映射规则 '^@/app/(.*)': '<rootDir>/src/app/$1', }, testEnvironment: 'jsdom', preset: 'ts-jest', transform: { '^.+\\.(js|jsx|ts|tsx|mjs)$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], }, } export default createJestConfig(config)
额外说明
如果项目中还有其他@/xxx格式的路径别名,需要在moduleNameMapper中补充对应的映射规则,确保Jest能解析所有自定义别名路径。同时要保证tsconfig.json或tsconfig.test.json中也配置了相同的路径别名,避免TypeScript语法报错。
内容的提问来源于stack exchange,提问作者Michal Sakowski
相关产品推荐
相关产品推荐

