使用第三方 React UI 库时找不到模块 'react' - Vite + Preact

Cannot find module 'react' when use third party React UI lib - Vite + Preact

我在这个 Vite 启动存储库中遇到了这个问题。

https://github.com/vicainelli/vite-starter

我正在使用 Vite + Preact + Vitest + 测试库

如果我在代码库中测试任何代码,它工作正常,但如果测试针对使用外部库中另一个组件的某个组件运行,我会收到此错误。

⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯

 FAIL  src/components/Button.test.js [ src/components/Button.test.js ]
 ❯ Object.<anonymous> node_modules/@mantine/styles/cjs/theme/MantineProvider.js:5:13

Test Files  1 failed | 1 passed (2)
     Tests  2 passed (2)
Error: Cannot find module 'react'
Require stack:
- /home/runner/work/vite-starter/vite-starter/node_modules/@mantine/styles/cjs/theme/MantineProvider.js
- /home/runner/work/vite-starter/vite-starter/node_modules/@mantine/styles/cjs/index.js
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯

这类似于 this issue,但我已经在使用 preact/compact,所以,我不知道我做错了什么。

您需要运行以下内容:

yarn add react@npm:@preact/compat react-dom@npm:@preact/compat

看来 Vitest 不能有效别名。