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

Jest遇意外token错误:query-string导入问题求助

解决Jest遇到query-string导入引发的"unexpected token"错误

针对你遇到的Jest报错问题,结合你的项目配置(Vite、"type": "module"、query-string v9),可以通过以下步骤解决:

1. 安装必要依赖

确保已安装babel与jest的适配依赖:

npm install --save-dev babel-jest @babel/core

2. 修改Jest配置

更新jest.config.js,让Jest处理query-string的ES模块转换:

export default {
  testEnvironment: 'jest-environment-jsdom',
  // 用babel-jest转换JS/JSX文件
  transform: {
    '^.+\\.(js|jsx)$': 'babel-jest',
  },
  // 排除query-string从忽略转换的列表中
  transformIgnorePatterns: [
    'node_modules/(?!query-string/)'
  ],
  moduleFileExtensions: ['js', 'jsx'],
};

3. 调整Babel配置

修改babel.config.json,让Babel针对Node环境(Jest运行环境)转换ES模块:

{
  "presets": [
    ["@babel/preset-env", { "targets": { "node": "current" } }],
    ["@babel/preset-react", { "runtime": "automatic" }]
  ]
}

原因说明

query-string v9仅提供ES模块格式,而Jest默认会跳过node_modules目录下文件的转换。同时你的项目启用了"type": "module",Jest需要明确配置来识别并转换这类ES模块。通过上述配置,我们让Jest使用Babel处理query-string,并将其转换为Jest能识别的CommonJS格式,从而解决"unexpected token"错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 21:49:57