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

如何在craco配置中设置transformIgnorePatterns适配测试需求?

在Create React App 5中使用Craco配置Jest的transformIgnorePatterns的正确方式

要解决Craco配置transformIgnorePatterns无效的问题,核心是通过Craco提供的Jest配置回调修改默认配置,而非直接在jest字段下声明属性。以下是正确的配置方案:

正确的craco.config.js配置

module.exports = {
  jest: {
    configure: (jestConfig) => {
      // 替换或扩展原有transformIgnorePatterns规则
      jestConfig.transformIgnorePatterns = [
        "[/\\\\]node_modules[/\\\\](?!(swiper|ssr-window|dom7)/)",
        "^.+\\.module\\.(css|sass|scss)$"
      ];
      return jestConfig;
    }
  }
};

关键说明

  • 配置方式是核心问题:之前直接在jest对象下设置transformIgnorePatterns不会生效,Craco要求通过configure回调函数修改内置的Jest配置对象,才能确保自定义规则被正确合并到原有配置中。
  • 正则表达式需准确:[/\\\\]兼容Windows和Unix系统的路径分隔符;(?!(swiper|ssr-window|dom7)/)确保这三个包不会被Jest忽略转译,以此解决SyntaxError: Unexpected token 'export'错误。
  • 无需在babel字段配置:transformIgnorePatterns是Jest专属配置,控制测试时哪些文件需要转译,不属于Babel配置范畴。

验证步骤

  1. 保存上述配置文件
  2. 重新运行测试命令:npm run test

若仍有报错,可检查正则表达式是否准确匹配目标依赖包,比如确认包名拼写无误、正则中的路径分隔符和括号是否闭合。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:15:33