我有一个包含此导入的测试文件:
import { useGlobalStore } from "@stores"
路径是
src/stores
这在项目中工作正常,但是在测试时,我收到此错误:
Error: Failed to resolve import "@stores" from "src/components/Footer/__test__/Footer.test.tsx". Does the file exist?
之前使用 Jest,我使用 moduleNameMapper 修复了它:
moduleNameMapper: {
"^stores/(.*)$": "<rootDir>/src/stores/$1",
},
我尝试根据文档将其添加到 Vitest 配置中,但没有结果。 这是我的配置文件:
export default defineConfig({
test: {
resolve: {
// ...rest of the code ...
alias: {
// I tried all the commented lines without success
// '@': path.resolve(__dirname, './src'),
// '@': './src',
// '@stores': './src/stores',
// '@/stores': new URL('./src/stores', import.meta.url).pathname,
'@/': new URL('./src/', import.meta.url).pathname,
},
},
},
});
我尝试了大多数方法都没有成功。
尝试使用
fileURLToPath
(import { URL, fileURLToPath } from 'node:url';
):
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
extensions: ['.js', '.json', '.jsx', '.mjs', '.ts', '.tsx', '.vue'],
},