# @fuf-stack/vitest-config 中文文档

规范地址：https://npmcn.com/package/%40fuf-stack/vitest-config/

版本：5\.1\.0
npm 元数据更新时间：2026-11-12T22:49:33.450Z
中文译文更新时间：2026-11-15T16:13:31.129Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fuf-stack/vitest-config
原文对照：https://npmcn.com/package/%40fuf-stack/vitest-config/?lang=original
项目主页：https://github.com/fuf-stack/ts-project-setup#readme
源码仓库：https://github.com/fuf-stack/ts-project-setup

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：13.3 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2024-04-03T12:13:59.452Z
- 最新版本发布：2026-11-12T22:49:32.979Z
- 近 30 天下载量：3803（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：38（近 12 个月 15 个）

## 中文简介

fröhlich 的默认虚拟配置

## 安装

```sh
npm install @fuf-stack/vitest-config
```

也可以使用：`pnpm add @fuf-stack/vitest-config`、`yarn add @fuf-stack/vitest-config`、`bun add @fuf-stack/vitest-config`

## README

## @fuf-stack/vitest-config

Fröhlich QQ Frei 的默认虚拟配置 。 为工作空间级别(root)和项目级别(package)设置提供单独的配置.

**与 Vitest 4.0+ 兼容**

### 可用的配置

**工作空间配置** (单位:千美元)`/workspace`\- 对于单发根:

-   定义工作空间结构的项目阵列
-   V8涵盖范围明确包括/不包括
-   CI 工具的 LCOV 记者

**项目配置** (单位:千美元)`/project`\- 对于单个包:

-   类型脚本路径映射分辨率
-   默认节点环境
-   测试之间清晰的模拟

### 安装

```bash
# pnpm
pnpm add -D @fuf-stack/vitest-config vitest @vitest/coverage-v8

# npm
npm i -D @fuf-stack/vitest-config vitest @vitest/coverage-v8

# yarn
yarn add -D @fuf-stack/vitest-config vitest @vitest/coverage-v8
```

### 使用量

> **重要内容:** 使用 `.mts` 导入此只使用无害环境管理软件包时用于配置文件的扩展名。 使用 `.ts` 可能导致捆绑器出错, 因为工具可能试图使用 `require()` 改为 `import`。 。 。 .

#### 工作空间根配置

使用您单列波根中的工作空间配置 `vitest.config.mts`数字 :

```ts
// vitest.config.mts (root)
import config from '@fuf-stack/vitest-config/workspace';

export default config;
```

该条规定:

-   工程阵列 : `['apps/*', 'packages/!(config)', 'packages/config/*']`
-   有合理默认的覆盖配置
-   LCOV 记者

`packages/config` 是一个容器,而不是一个测试项目。 其儿童包是: 包括个人,所以他们的测试一次用自己的包名进行.

**需要时自定义 :**

使用 `mergeConfig` 在保留默认项目发现的同时调整设置:

```ts
// vitest.config.mts
import { mergeConfig } from 'vitest/config';

import workspaceConfig from '@fuf-stack/vitest-config/workspace';

export default mergeConfig(workspaceConfig, {
  test: {
    testTimeout: 10_000,
  },
});
```

**在默认路径外添加工程 :**

用于现有测试项目 `tools/integration-tests`,添加其目录 相对工作空间根. `mergeConfig` 调和数组, 因此延伸 `projects` 在保存默认的应用程序和软件包项目时 :

```ts
// vitest.config.mts
import { mergeConfig } from 'vitest/config';

import workspaceConfig from '@fuf-stack/vitest-config/workspace';

export default mergeConfig(workspaceConfig, {
  test: {
    projects: ['tools/integration-tests'],
  },
});
```

该目录可以提供自己的 `vitest.config.mts` 用于特定项目设置.

**添加内置工程和额外覆盖路径 :**

内部项目和 `coverage.include` 编号 : `coverage.exclude`数字 : 您的条目附在默认值后。 不要手动传播基础配置.

```ts
// vitest.config.mts
import { mergeConfig } from 'vitest/config';

import workspaceConfig from '@fuf-stack/vitest-config/workspace';

export default mergeConfig(workspaceConfig, {
  test: {
    projects: [
      {
        test: {
          name: 'scripts',
          include: ['scripts/**/*.test.mjs'],
          environment: 'node',
        },
      },
    ],
    coverage: {
      include: ['scripts/**/*.mjs'],
    },
  },
});
```

默认覆盖排除已匹配 `*.test.*` 编号 : `*.spec.*` 每个文件 JS/TS扩展到工作区任何地方,所以额外包括不需要匹配 测试排除.

#### 软件包级别配置

使用单个软件包中的工程配置 `vitest.config.mts`数字 :

```ts
// packages/my-package/vitest.config.mts
import config from '@fuf-stack/vitest-config/project';

export default config;
```

该条规定:

-   TypeScript 路径映射分辨率( Vite 原生) `resolve.tsconfigPaths`(中文(简体) )
-   节点环境(有益于图书馆、公用事业)
-   测试之间清晰的模拟

**用于反应组件( 需要jsdom) :**

```ts
// packages/ui-components/vitest.config.mts
import { mergeConfig } from 'vitest/config';

import projectConfig from '@fuf-stack/vitest-config/project';

export default mergeConfig(projectConfig, {
  test: {
    environment: 'jsdom',
    setupFiles: ['./vitest.setup.ts'],
  },
});
```

#### 从Vitest 3.x迁移

1.  **根配置**: 使用 `/workspace` 导入
2.  **软件包配置**: 使用 `/project` 导入(或自定义为 `mergeConfig`(中文(简体) )
3.  **重命名配置文件**更改 `.ts` → `.mts` (仅限无害环境管理的包件需要)
4.  删除 `vitest.workspace.ts` 文件
5.  确保每个软件包的使用 `defineProject()` (由 `/project` 配置( c)

### 为什么 `.mts` 扩展?

此套装仅限无害环境管理(`"type": "module"`) (中文(简体) ). 当 Vitest 捆绑配置文件时 :

-   `.ts` 文件模糊不清 - 捆绑者可能尝试 `require()` ❌
-   `.mts` 明确声明 ES 模块 - 使用 `import` ✅

使用 `.ts` 可能导致以下错误:

```
Error: Cannot use import statement outside a module
```

这个 `.mts` 扩展介绍将文件作为ES模块处理的工具,允许适当进口仅属于无害环境管理的依赖性.

### 脚本

```json
{
  "scripts": {
    "test": "vitest",
    "test:coverage": "vitest --coverage"
  }
}
```

### 许可证

麻省理工学院

## 常见问题

### @fuf-stack/vitest-config 是什么？

fröhlich 的默认虚拟配置

### 如何安装 @fuf-stack/vitest-config？

在项目目录运行 npm install @fuf-stack/vitest-config，或使用 pnpm add / yarn add / bun add。

### @fuf-stack/vitest-config 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fuf-stack/vitest-config 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @fuf-stack/vitest-config 可以商用吗？

@fuf-stack/vitest-config 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fuf-stack/vitest-config 的下载量有多少？

根据 npm 官方下载统计，@fuf-stack/vitest-config 在 2026/10/16 – 2026/11/14 这 30 天内被下载 3,803 次，日均约 127 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fuf-stack/vitest-config 还在维护吗？

最新版本 5\.1\.0 发布于 2026/11/13（2 天前）；至今共发布 38 个版本，其中过去 12 个月发布了 15 个；首次发布于 2024/04/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

