【问题标题】:Cannot find module 'measuretool-googlemaps-v3'找不到模块 \'measuretool-googlemaps-v3\'
【发布时间】:2023-02-14 18:16:11
【问题描述】:

我有一个使用“create-react-app”创建的项目,我在其中一个文件中导入了一个这样的文件

 import MeasureTool from 'measuretool-googlemaps-v3';

当我运行我的项目时,我没有遇到任何问题,但是当我尝试使用npm run test ("test": "react-scripts test --env=jsdom") 运行我的测试范围时

我收到这个错误找不到模块“measuretool-googlemaps-v3”

这是我开玩笑的配置包.json文件

"jest": {
    "coverageReporters": [
      "text",
      "cobertura"
    ],
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}",
      "!/node_modules/",
      "!src/index.js",
      "!src/registerServiceWorker.js",
      "!src/setupTests.js"
    ]
  }

它仅针对此包给出错误。不确定我在这里做错了什么。

【问题讨论】:

  • 你能提供一个 repo 或 codesandbox 来重现这个问题吗?
  • 同样的问题在这里

标签: npm jestjs create-react-app react-scripts


【解决方案1】:

我有同样的问题。在我看来,问题的根源在于 ESM 模块。节点本身不完全支持它们(在此处查看更多信息 - https://jestjs.io/docs/ecmascript-modules#differences-between-esm-and-commonjs),因此我们可能会遇到此类问题。

该软件包附带 2 个版本 - ESM 和 UMD。我通过将模块路径显式映射到 UMD 版本解决了我的问题:

 moduleNameMapper: {
   '^measuretool-googlemaps-v3$': '<rootDir>/node_modules/measuretool-googlemaps-v3/dist/gmaps-measuretool.umd.js',
 }

将这些行添加到您的jest.config.js 文件中。希望它对你有用!

【讨论】:

    猜你喜欢
    • 2016-10-04
    • 2018-12-07
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 2018-02-21
    • 2021-07-23
    相关资源
    最近更新 更多