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

Jest测试中如何导入其他文件函数?导入导出语法报错如何解决

解决方案

你的报错本质是ES模块规范和Node默认CommonJS规范不兼容,以及代码内TypeScript类型语法未被转译导致的,按以下步骤配置即可解决:

1. 安装依赖

执行以下命令安装所需的转译工具:

npm install --save-dev @babel/core @babel/preset-env @babel/preset-typescript babel-jest jest

2. 配置Babel

在项目根目录新建babel.config.js,写入以下内容:

module.exports = {
  presets: [
    ["@babel/preset-env", { targets: { node: "current" } }],
    "@babel/preset-typescript"
  ]
};

3. 配置Jest

在项目根目录新建jest.config.js,写入以下内容:

module.exports = {
  transform: {
    "^.+\\.[tj]sx?$": "babel-jest"
  },
  moduleFileExtensions: ["js", "ts", "jsx", "tsx", "json", "node"]
};

4. 调整测试文件导入写法

测试文件统一使用ES6 import语法导入方法即可:

import { func1, func2 } from './funcfile';
// 后续编写测试逻辑

注意事项

  • 不要在package.json中添加"type": "module"配置,已添加的请删除
  • 现有业务文件的export导出语法无需修改,Babel会自动完成转译

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:39:02