在React-Native项目中开玩笑。如何将黑名单或删除重复的模块?

Kev*_*off 6 jestjs react-native lerna

我正在尝试与建立一个React-Native项目lerna。当我尝试运行时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)
Run Code Online (Sandbox Code Playgroud)

这是jest我的根目录下的配置package.json

"jest": {
    "preset": "react-native",
    "globals": {
      "__DEV__": true
    },
    "testRegex": "packages/(.*)/src/(.*)/__tests__/(.*).js?$",
    "transformIgnorePatterns": [
      "packages/(.*)/node_modules/?!(react|react-native)"
         ],
    "testEnvironment": "node"
  }
Run Code Online (Sandbox Code Playgroud)

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

Peu*_*ele 7

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

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

  • 谢谢它成功了。顺便说一句,该选项称为“modulePathIgnorePatterns”。你少了一个's'。 (2认同)