You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为Vitest指定不同的tsconfig配置文件?

可以为Vitest单独配置tsconfig文件

当然可以给Vitest指定独立的tsconfig文件,这样既能保留主项目tsconfig.json的es2015配置,又能满足Vitest对ESNext的需求,具体操作步骤如下:

1. 创建测试专用的tsconfig文件

在项目根目录新建tsconfig.vitest.json,通过extends继承主配置,仅覆盖需要修改的字段:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "esModuleInterop": true,
    "skipLibCheck": true
  },
  "include": ["src/**/*.spec.ts", "src/**/*.test.ts", "tests/**/*"]
}
  • extends确保复用主配置里的基础设置(比如lib、paths等),无需重复编写
  • target和module设为ESNext适配Vitest的运行环境
  • include明确指定测试文件的范围,避免编译无关代码

2. 在Vitest配置中指定该文件

在项目的Vitest配置文件(vitest.config.ts或vite.config.ts的test字段)里,通过tsconfig参数指向刚才创建的配置文件:

若使用独立的vitest.config.ts:

import { defineConfig } from 'vitest/config'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  test: {
    globals: true,
    environment: 'jsdom',
    tsconfig: './tsconfig.vitest.json'
  }
})

若集成在vite.config.ts中:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  // 其他Vite配置...
  test: {
    globals: true,
    environment: 'jsdom',
    tsconfig: './tsconfig.vitest.json'
  }
})

这样设置后,主项目的生产构建依然沿用tsconfig.json的es2015配置,而Vitest会使用独立的配置文件运行测试,两者互不影响。

内容的提问来源于stack exchange,提问作者coure2011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:57:24