在 React-Native 项目中开玩笑。如何将重复模块列入黑名单或删除?
Posted
技术标签:
【中文标题】在 React-Native 项目中开玩笑。如何将重复模块列入黑名单或删除?【英文标题】:Jest in a React-Native project. How to Blacklist or delete duplicate modules? 【发布时间】:2018-03-21 16:44:30 【问题描述】:我正在尝试使用lerna
建立一个React-Native
项目。当我尝试运行 jest
时,我遇到了以下错误。
The name `setupDevtools` was looked up in the Haste module map. It cannot be resolved, because there exists several different files, or packages, that provide a module for that particular name and platform. The platform is generic (no extension). You must delete or blacklist files until there remains only one of these:
* `/Users/kevin.amiranoff/project/node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js` (module)
* `/Users/kevin.amiranoff/project/packages/App/node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js` (module)
* `/Users/kevin.amiranoff/project/packages/App-exceptions/node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js` (module)
* `/Users/kevin.amiranoff/project/packages/App-signin/node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js` (module)
* `/Users/kevin.amiranoff/project/packages/App-ui/node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js` (module)
* `/Users/kevin.amiranoff/project/packages/App-utils/node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js` (module)
这是我在根目录package.json
中的jest
配置
"jest":
"preset": "react-native",
"globals":
"__DEV__": true
,
"testRegex": "packages/(.*)/src/(.*)/__tests__/(.*).js?$",
"transformIgnorePatterns": [
"packages/(.*)/node_modules/?!(react|react-native)"
],
"testEnvironment": "node"
谁能向我解释我必须忽略什么以及如何忽略?
【问题讨论】:
【参考方案1】:您应该使用modulePathIgnorePatterns
忽略某些目录。
确保只有您真正想要使用的那个不在此忽略列表中。
文档链接: https://facebook.github.io/jest/docs/en/configuration.html#modulepathignorepatterns-array-string
【讨论】:
谢谢它的工作。顺便说一下,该选项称为modulePathIgnorePatterns
。你少了一个's'。
@KevinAmiranoff 在不同的包上面临同样的问题。你能发布你最后的笑话配置吗?以及如何找到必须使用 modulePathIgnorePatterns 排除的不同路径?谢谢
为了将来参考,您可以将yarn-cache
和npm-cache
添加到modulePathIgnorePatterns
。欲了解更多信息,请查看github.com/facebook/jest/issues/4682#issuecomment-336304046
我遇到了同样的问题,我只是将文件夹路径 c:/work/somefolder 更改为 c:/work2/somefolder以上是关于在 React-Native 项目中开玩笑。如何将重复模块列入黑名单或删除?的主要内容,如果未能解决你的问题,请参考以下文章
用于 react-native 的 Code Push 打破玩笑测试
如何将 OpenCV 库导入 React-Native 项目
如何将 React-Native 项目集成到 Android-Studio?