File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ export default defineConfig({
3030})
3131```
3232
33- 项目配置可以是内联配置、文件或指向项目的 glob 模式。例如,如果你有一个名为 ` packages ` 的文件夹包含多个项目,可以在根 Vitest 配置中定义一个数组 :
33+ 项目配置可以是内联配置、文件或指向项目的 glob 模式。例如,如果你有一个名为 ` packages ` 的文件夹包含多个项目,可以在 Vitest 配置文件中定义一个数组 :
3434
3535``` ts [vitest.config.ts]
3636import { defineConfig } from ' vitest/config'
@@ -42,54 +42,7 @@ export default defineConfig({
4242})
4343```
4444
45- Vitest 会将 ` packages ` 中的每个文件夹视为独立项目,即使其中没有配置文件。如果 glob 模式匹配到文件,它将验证文件名是否以 ` vitest.config ` /` vite.config ` 开头,或匹配 ` (vite|vitest).*.config.* ` 模式,以确保它是 Vitest 配置文件。例如,以下配置文件是有效的:
46-
47- - ` vitest.config.ts `
48- - ` vite.config.js `
49- - ` vitest.unit.config.ts `
50- - ` vite.e2e.config.js `
51- - ` vitest.config.unit.js `
52- - ` vite.config.e2e.js `
53-
54- 要排除文件夹和文件,你可以使用否定模式:
55-
56- ``` ts [vitest.config.ts]
57- import { defineConfig } from ' vitest/config'
58-
59- export default defineConfig ({
60- test: {
61- // 包含 "packages" 所有子文件夹,并排除 "excluded" 文件夹
62- projects: [
63- ' packages/*' ,
64- ' !packages/excluded'
65- ],
66- },
67- })
68- ```
69-
70- 如果你有一个嵌套结构,其中某些文件夹需要成为项目,但其他文件夹有自己的子文件夹,你必须使用括号来避免匹配父文件夹:
71-
72- ``` ts [vitest.config.ts]
73- import { defineConfig } from ' vitest/config'
74-
75- // 举例来说,像下面这样创建项目:
76- // packages/a
77- // packages/b
78- // packages/business/c
79- // packages/business/d
80- // 注意:"packages/business" 并不是一个项目
81-
82- export default defineConfig ({
83- test: {
84- projects: [
85- // 匹配 "packages" 目录下除 "business" 所有子文件夹
86- ' packages/!(business)' ,
87- // 匹配 "packages/business" 下所有子文件夹
88- ' packages/business/*' ,
89- ],
90- },
91- })
92- ```
45+ Vitest 会将 ` packages ` 中的每个文件夹视为独立项目,即使其中没有配置文件。如果该 glob 模式匹配到 _ 任意文件_ ,它将被视为 Vitest 配置,即使文件名中没有包含 ` vitest ` 或文件扩展名不常见。
9346
9447::: warning
9548Vitest 不会将根目录的 ` vitest.config ` 文件视为项目,除非在配置中显式指定。因此,根配置只会影响全局选项,如 ` reporters ` 和 ` coverage ` 。但 Vitest 总会执行根配置文件中指定的某些插件钩子,如 ` apply ` 、` config ` 、` configResolved ` 或 ` configureServer ` 。Vitest 也会使用相同的插件执行全局设置和自定义覆盖提供者。
You can’t perform that action at this time.
0 commit comments