【问题标题】:Jest cannot find module 'got' from node_modulesJest 无法从 node_modules 中找到模块“得到”
【发布时间】:2022-01-31 23:06:25
【问题描述】:

当我运行 yarn jest 时,我的一项(以前工作的)测试出现错误:

无法从 'src/rss/queries.ts' 中找到模块 'got'

我在package.json 中添加了got:

"devDependencies": {
    "got": "^12.0.0",
}

我的jest.config.js:

module.exports = {
  preset: 'ts-jest',
  testMatch: ['**/*.test.ts(|x)'],
  collectCoverageFrom: ['**/*.ts', '!.webpack/**/*'],
  verbose: true,
}

我在./src/rss/queries.ts 中使用got:

import * as got from 'got'

我也试过了:

import { got, RequestError } from 'got'

在这两种情况下,应用程序都可以工作 - 我可以看到 got 通过应用程序日志发出请求(当我将鼠标悬停在上面时,vscode 在 node_modules 中指示模块的正确路径)。所以它肯定在那里,并且正在工作。

但是jest 找不到。为什么?这不是一个不常见的stackoverflow问题,但它们似乎都与通过相对路径等导入自定义本地模块有关。我只是想使用node_modules中的一个...

【问题讨论】:

    标签: node.js typescript jestjs


    【解决方案1】:

    got 的第 12 版不适用于 jest。现在最好使用版本 11。请参阅发行说明中的​​详细信息:https://github.com/sindresorhus/got/releases/tag/v12.0.0

    【讨论】:

      【解决方案2】:

      无法找到原因或解决方案。最终将 got 替换为 axios,这很遗憾,因为我喜欢许多 got 功能。

      【讨论】:

        猜你喜欢
        • 2019-04-27
        • 2021-09-04
        • 2023-01-13
        • 1970-01-01
        • 2020-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多