我以 https://github.com/serhii-havrylenko/monorepo-babel-ts-lerna-starter为例,(lerna、yarn 工作区、typescript 和 babel transpilation based monorepo)并添加了一个 create-react-app基于应用程序的项目。
经过一些调整,我已经在 UI 项目yarn build
中yarn start
正常工作,(成功地)拉入了其他包中定义的模块。最重要的变化是从 typescript 路径和 baseUrl 配置切换到查找模块,而不是使用工作区链接。
我的问题是我无法yarn test
在 UI 项目中工作。当我运行它时,我得到:
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 。自述文件列出了重现问题的明确步骤。
有人有什么建议吗?