我一直在开发一个React Typescript仓库,但遇到了一个烦人的问题,就是Jest无法解析与根目录相关的导入。
Cannot find module '~lib/dates' from 'utils.ts'
这是组件/工具中导入的样子。
import { abc } from '~lib/dates'; // this fails to run
如果我将此更改为相对路径,Jest测试将按预期工作。
import { abc } from '../../lib/dates'; // this runs as expected
同样的路径对于其他一些目录也有效,我有点困惑。
import { xyz } from '~components/home/constants'; // jest resolves it
import { abc } from '~lib/dates'; // ERR
我尝试将moduleNameWrapper
包含在jestConfig中,以查看是否可以正确解析导入,但这并没有帮助。
package.json
"jest": {
...
"moduleNameWrapper": {
"^~(.*)$": "<rootDir>/src/$1"
}
}
我肯定可以更新VS代码设置,使自动导入相对于文件而不是根目录解析,但这已经困扰我一段时间了。如果有人能够提供任何指针以最好地解决此问题,那将是很棒的。
我在一个具有以下目录结构的monorepo中
repo
server
client
src
components
lib
utils
package.json