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

配置Babel转译配置文件为CommonJS 修复Jest ES模块报错

问题根因

你配置的babel-jest没有正常执行转译,核心原因是你的Babel配置文件结构写错,导致@babel/preset-env根本没有被正确加载,自然无法把ES模块的import/export语法转成Jest默认支持的CommonJS规范。
你当前的babel.config.json把preset的配置对象错当成了presets数组的第二个独立元素,属于结构语法错误,Babel解析配置时会直接忽略无效配置项。

修复方案
  • 修正babel.config.json的配置结构,将preset名称和它的配置项包裹在同一个子数组中:
{
  "presets": [
    ["@babel/preset-env", { "targets": { "node": "current" } }]
  ]
}
  • 如果修正Babel配置后仍然报相同错误,或后续报引入的第三方ESM包(比如你代码里引入的flat就是纯ESM包)的语法错误,在jest.config.js中添加transformIgnorePatterns配置,指定需要纳入转译范围的路径:
// 追加到jest.config.js的配置项中
transformIgnorePatterns: [
  '/node_modules/(?!(flat)/)'
],

改完后重新运行Jest即可,babel-jest会正常转译包括fr-FR.js在内的项目JS文件,把ES模块语法转为Jest可识别的CommonJS语法,不会再出现Unexpected token 'export'报错。

内容的提问来源于stack exchange,提问作者Théo Lavaux

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 13:24:22