我在 Node 中运行模块测试时遇到问题。我没有现有的项目,也找不到使用
import
语句进行测试的项目。
在Jest的入门指南中,有一行我想使用:
import {sum} from './sum';
当我使用它而不是 const sum = require('./sum');
时,它会出错:
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){import { sum } from './sum';
^^^^^^
SyntaxError: Cannot use import statement outside a module
鉴于我已成功遵循第一部分“其他配置”之前的说明,要使
import
语句正常工作所需的最小更改是什么?
(Node 22.8.0,jest 29.7.0,ts-jest 29.2.5)-它不应该再是实验性的了吗?
嗯,看来仍然需要转译才能使其正常工作。
关键是更新
package.json
以包含
"jest":{
"preset": "ts-jest"
}
预设行可以替换为:
transform: {
"^.+.tsx?$": ["ts-jest",{}]
}
(至少为了解决进口声明问题)