我正在使用一個React網絡應用程序,該應用程序使用我們作爲npm模塊包含的組件庫。因爲我正在同時在圖書館和webapp上工作,所以我把圖書館作爲模塊以npm鏈接。Jest忽略對鏈接模塊中的對等依賴項作出反應
的目錄都設置這樣的:
~/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)
我寫我的測試開玩笑(0.8.2)。
我試圖配置Jest在我運行myWebapp的測試時不從myLibrary/node_modules/react加載React。加載React兩次往往會導致問題。在我運行它之前,如果我的測試通過了我的測試rm -r myLibrary/node_modules/react
,但是一直都很難卸載並重新安裝React。
我試圖與配置玩笑:
...,
"modulePathIgnorePatterns": [
"<rootDir>/node_modules/myLibrary/node_modules/react"
],
...
,但似乎並沒有工作
你有沒有得到任何解決方案?我剛剛在Jest的github回購中提出了一個問題:https://github.com/facebook/jest/issues/2447 – olivarra1
@ olvarra1不是一個好主意,但有一個解決方案。 我們最終將myLibary的「內置」版本包含在名爲dist /的項目結構中的文件夾中。解決方案是隻鏈接dist /內myWebapp/node_modules/myLibrary/ 我們發佈模塊myLibary到一個私人npm註冊表。之後,我們將myLibary作爲普通依賴項安裝在myWebapp中,但進入了myWebapps/node_modules/myLibrary,刪除了dist /目錄,並從myLibrary的本地工作副本中刪除了鏈接的dist /,如 ln -s ../。 ./../myLibrary/dist dist/ – albertlockett