Gyakori hibák
A(z) './relatív-útvonal' modul nem található
Ha a modul nem található hibát kap, az több okra is visszavezethető:
- Elírta az útvonalat. Győződjön meg róla, hogy az útvonal helyes.
- Lehetséges, hogy a
tsconfig.jsonfájlbaseUrlbeállítására támaszkodik. A Vite alapértelmezés szerint nem veszi figyelembe atsconfig.jsonfájlt, ezért előfordulhat, hogy telepítenie kell avite-tsconfig-pathscsomagot, ha erre a viselkedésre van szüksége.
- Lehetséges, hogy a
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';
export default defineConfig({
plugins: [tsconfigPaths()],
});Vagy írja át az útvonalat úgy, hogy ne legyen relatív a gyökérhez képest:
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'- Győződjön meg róla, hogy nincsenek relatív aliasok. A Vite azokat relatívnak tekinti ahhoz a fájlhoz képest, ahol az importálás történik, nem pedig a gyökérhez képest.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
alias: {
'@/': './src/',
'@/': new URL('./src/', import.meta.url).pathname,
},
},
});Nem sikerült leállítani a workert
Ez a hiba akkor fordulhat elő, ha a NodeJS fetch függvényét az alapértelmezett pool: 'threads' beállítással használják. Ezt a problémát a Timeout abort can leave process(es) running in the background #3077 issue követi nyomon.
Megoldásként átválthat a pool: 'forks' vagy a pool: 'vmForks' beállításra.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});vitest --pool=forksSzegmentálási hibák és natív kódhibák
A natív NodeJS modulok futtatása a pool: 'threads' beállításban rejtélyes hibákhoz vezethet, amelyek a natív kódból származnak.
Segmentation fault (core dumped)thread '<unnamed>' panicked at 'assertion failedAbort trap: 6internal error: entered unreachable code
Ezekben az esetekben a natív modul valószínűleg nem készült fel a több szálon való biztonságos futtatásra. Megoldásként átválthat a pool: 'forks' beállításra, amely a teszteseteket több node:child_process folyamatban futtatja, nem pedig több node:worker_threads szálban.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});vitest --pool=forks