找不到模块"测量工具-谷歌地图-v3"



我有一个使用"create-react-app"创建的项目,我在一个类似的文件中有一个导入

import MeasureTool from 'measuretool-googlemaps-v3';

当我运行我的项目时,我没有遇到任何问题,但当我试图使用npm run test("test": "react-scripts test --env=jsdom"(运行我的测试覆盖率时

我收到此错误找不到模块"measuretool-googlemaps-v3">

这是我在package.json文件中的笑话配置

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

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

我也遇到了同样的问题。在我看来,问题的根源在于ESM模块。节点本身并不完全支持它们(请参阅此处的更多信息-https://jestjs.io/docs/ecmascript-modules#differences-在esm和commonjs之间(,因此我们可能会遇到这样的问题。

该软件包包含两个版本-ESM和UMD。我通过明确地将模块路径映射到UMD版本来解决我的问题:

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

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

最新更新