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

运行Jest时报错SyntaxError: Cannot use import statement outside a module如何解决

问题原因

该错误是因为Jest默认将测试文件识别为CommonJS模块,不支持直接使用ES模块的import语法。

解决方案

方案1:移除多余导入(推荐)

Jest默认已经将describe、it、expect等测试API注入到所有测试文件的全局作用域,无需手动导入,直接删除这行import代码即可正常运行测试。

方案2:改用CommonJS导入语法

如果确实需要显式导入相关API,可将ES模块写法替换为CommonJS的require写法:

const { describe, it, expect } = require('@jest/globals');

方案3:开启Jest ES模块支持

如果项目整体使用ES模块规范,可按以下步骤配置:

  • 在项目package.json中添加字段 "type": "module",告知Node.js所有.js文件默认按ES模块处理
  • 调整Jest配置(可放在jest.config.js或package.json的jest字段中):
export default {
  testEnvironment: "node",
  transform: {}
}
  • 修改package.json中的测试运行脚本,添加Node.js ES模块实验参数:
{
  "scripts": {
    "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:48:01