尝试在现有的 vite(vue 3,typescript)项目上设置 vitest。
我的 vite.config.ts 看起来像这样:
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
export default defineConfig({
test: {
globals: true,
environment: 'jsdom',
},
plugins: [vue()],
});
Run Code Online (Sandbox Code Playgroud)
但在 VS 代码中它会抱怨:
悬停时我看到:
类型参数 '{ test: { globals: boolean; 环境:字符串;}; 插件:插件[];}' 不可分配给“UserConfigExport”类型的参数。对象文字只能指定已知属性,并且“UserConfigExport”类型中不存在“test”。ts(2345)
如果我改变这一行,我可以让它消失:
import { defineConfig } from 'vite';
Run Code Online (Sandbox Code Playgroud)
到:
import { defineConfig } from 'vitest/config';
Run Code Online (Sandbox Code Playgroud)
但为什么?这是怎么回事?为什么我必须从 vitest 导入 DefineConfig 才能使其支持测试属性?