【问题标题】:Jest in a React-Native project. How to Blacklist or delete duplicate modules?在 React-Native 项目中开玩笑。如何将重复模块列入黑名单或删除?
【发布时间】: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"
  }

谁能向我解释我必须忽略什么以及如何忽略?

【问题讨论】:

    标签: react-native jestjs lerna


    【解决方案1】:

    您应该使用modulePathIgnorePatterns 忽略某些目录。 确保只有您真正想要使用的那个不在此忽略列表中。

    文档链接: https://facebook.github.io/jest/docs/en/configuration.html#modulepathignorepatterns-array-string

    【讨论】:

    • 谢谢它的工作。顺便说一下,该选项称为modulePathIgnorePatterns。你少了一个's'。
    • @KevinAmiranoff 在不同的包上面临同样的问题。你能发布你最后的笑话配置吗?以及如何找到必须使用 modulePathIgnorePatterns 排除的不同路径?谢谢
    • 为了将来参考,您可以将yarn-cachenpm-cache添加到modulePathIgnorePatterns。欲了解更多信息,请查看github.com/facebook/jest/issues/4682#issuecomment-336304046
    • 我遇到了同样的问题,我只是将文件夹路径 c:/work/somefolder 更改为 c:/work2/somefolder
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2023-03-27
    • 2016-10-03
    • 2018-09-14
    • 2020-09-17
    • 2019-07-27
    相关资源
    最近更新 更多