Jest Ignore会对链接模块中的对等依赖进行反应

时间:2016-09-28 18:56:33

标签: node.js reactjs npm symlink jestjs

我正在开发一个React Web应用程序,该应用程序使用我们作为npm模块包含的组件库。因为我正在同时处理库和webapp,所以我将库作为模块链接到npm。

目录设置如下:

~/Development/
|
|-- myWebapp/
|   |-- package.json # (react included here as dependency)
|   |-- src/
|   |-- node_modules/
|       |-- jest-cli/
|       |-- react/
|       |-- myLibrary/ -> /usr/local/lib/node_modules/myLibrary
|
|-- myLibrary/       # (linked to /usr/local/lib/node_modules by npm link)
|   |-- package.json
|   |-- src/
|   |-- node_modules/
|       |-- react/   # (included as a devDependency and peerDependency)

我正在Jest(0.8.2)中编写测试。

我正在尝试将Jest配置为在myWebapp运行测试时不从myLibrary / node_modules / react加载React。加载React两次往往会导致问题。在我运行之前,如果我rm -r myLibrary/node_modules/react,我的测试通过了,但卸载并重新安装React是一件痛苦的事。

我尝试使用以下命令配置Jest:

...,
"modulePathIgnorePatterns": [ 
    "<rootDir>/node_modules/myLibrary/node_modules/react"
],
... 

但这似乎不起作用

1 个答案:

答案 0 :(得分:0)

尝试使用modulePathIgnorePatterns的新正则表达式:

"modulePathIgnorePatterns": [ 
    "<rootDir>/node_modules.*/react"
]

。*应该匹配任何字符零次或多次。因此,应排除所有反应。