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

求助:Monorepo中React组件Jest测试遇Unexpected token 'export'错误

解决Monorepo中Jest测试React组件时的ESM语法错误

问题根源

错误源于uuid包输出的ESM格式文件,Jest默认不对node_modules目录下的文件进行转译,导致无法识别export语法。

解决方案

1. 调整Jest配置,允许转译uuid包

在Jest配置文件(如jest.config.js或package.json的jest字段)中,修改transformIgnorePatterns规则,让Babel处理uuid包:

module.exports = {
  // 保留其他原有配置
  transformIgnorePatterns: [
    'node_modules/(?!uuid/)' // 仅排除uuid之外的node_modules文件,让Babel转译uuid
  ]
};

2. 完善Babel配置(适配React组件)

你测试的是React组件,原有Babel配置缺少React语法处理预设,需要补充:

module.exports = {
    presets: [
        ['@babel/preset-env', {targets: {node: 'current'}}],
        '@babel/preset-typescript',
        '@babel/preset-react' // 添加该预设处理JSX等React语法
    ],
};

3. Monorepo环境下的依赖校验

如果使用pnpm,在对应包目录或根目录执行pnpm install,确保Babel、Jest及相关依赖都正确安装。

验证

重新运行Jest测试,即可正常解析uuid的ESM文件,消除语法错误。

内容的提问来源于stack exchange,提问作者V.Jason

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:32:14