允许 Jest 使用导入的(最小)设置是什么?

问题描述 投票:0回答:1

我在 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)-它不应该再是实验性的了吗?

node.js jestjs ts-jest
1个回答
0
投票

嗯,看来仍然需要转译才能使其正常工作。

关键是更新

package.json
以包含

  "jest":{
     "preset": "ts-jest"
  }

预设行可以替换为:

  transform: {
    "^.+.tsx?$": ["ts-jest",{}]
  }

(至少为了解决进口声明问题)

© www.soinside.com 2019 - 2024. All rights reserved.