如何阻止VITEST在test目录下生成TS转JS的dist文件夹?
解决Vitest在test目录生成dist文件夹的问题
这个test/dist文件夹是Vitest编译TS测试文件时生成的临时输出/缓存目录,可通过以下配置项禁用或调整输出路径:
1. 自定义Vitest缓存目录
在项目的vitest.config.ts(或集成在vite.config.ts中)里指定缓存目录到项目根目录的隐蔽位置,避免干扰test目录:
import { defineConfig } from 'vitest/config' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [vue()], test: { // 将缓存目录指定到项目根目录下的.vitest文件夹 cacheDir: '.vitest/cache', coverage: { provider: 'c8', // 你的其他覆盖率配置 } } })
2. 移除错误的outDir配置
检查配置文件中是否有手动指定测试编译输出到test/dist的配置,如有则删除:
// 需移除的错误配置示例 test: { // outDir: 'test/dist' // 删掉这行 }
3. 强制内存编译(不生成物理文件)
通过配置让Vitest在内存中编译测试文件,完全避免生成物理文件:
export default defineConfig({ test: { server: { deps: { inline: true } } } })
4. 一键清理脚本(可选)
在package.json中添加清理脚本,方便每次测试前自动清理旧文件:
{ "scripts": { "test:clean": "rm -rf test/dist .vitest/cache", "test": "npm run test:clean && vitest run --coverage", "test:dev": "npm run test:clean && vitest dev --coverage" } }
配置修改后重新运行测试命令,test/dist就不会再自动生成了。
内容的提问来源于stack exchange,提问作者Norm Strassner
相关产品推荐
相关产品推荐

