我以以下示例为例 https://github.com/serhii-havrylenko/monorepo-babel-ts-lerna-starter(基于lerna,纱线工作区,打字稿和基于通天塔的babel转译的monorepo),并向该项目添加了基于create-react-app的应用。
进行一些调整后,我在UI项目中使yarn build
和yarn start
正常工作,(成功地)引入了其他软件包中定义的模块。最重要的变化是从打字稿路径和baseUrl配置切换为查找模块,而是使用工作空间链接。
我的问题是我无法在UI项目中使用yarn test
。当我运行它时,我得到:
FAIL src/App.test.tsx
● Test suite failed to run
Cannot find module '@taxi/login-form' from 'App.tsx'
> 1 | import { LoginForm } from '@taxi/login-form';
| ^
2 | import React, { Component } from 'react';
3 | import './App.css';
4 |
at Resolver.resolveModule (../../node_modules/jest-resolve/build/index.js:221:17)
at Object.<anonymous> (src/App.tsx:1:1)
此错误出在成功构建并加载到浏览器中的组件中。
我已经尽我所能想到的一切,以开玩笑地正确加载此模块。
我没有在这里粘贴大量文件内容,而是在这里将分叉的存储库发布到了https://github.com/ggascoigne/monorepo-babel-ts-lerna-starter。自述文件列出了可重现该问题的明确步骤。
有人有什么建议吗?