# happo 中文文档

规范地址：https://npmcn.com/package/happo/

版本：7\.3\.0
npm 元数据更新时间：2026-11-03T17:31:31.297Z
中文译文更新时间：2026-11-03T19:53:22.126Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/happo
原文对照：https://npmcn.com/package/happo/?lang=original
项目主页：https://happo.io/
源码仓库：https://github.com/happo/happo

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

- 包体积（解压后）：2.4 MB，176 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：^22\.18\.0 \|\| \>=24\.0\.0
- 运行依赖：9 个
- 首次发布：2016-11-23T14:03:14.467Z
- 最新版本发布：2026-11-03T17:31:31.065Z
- 已发布版本数：114（近 12 个月 83 个）

## 中文简介

捕捉意外的视觉和可访问性变化以及UI错误

## 安装

```sh
npm install happo
```

也可以使用：`pnpm add happo`、`yarn add happo`、`bun add happo`

## README

# Happo

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

一个用于集成的开源库 [happo.io](https://happo.io/) -一个可视化和可访问性回归测试平台，帮助您捕获应用程序中的意外更改。

## 📚文档

有关全面的文档，请访问 [docs.happo.io](https://docs.happo.io/)。

## 🚀特性

-   **CLI工具**包括一个命令行接口，便于集成
-   **灵活的配置**：支持多种配置文件格式
-   **打印稿的支持**：用TypeScript构建，并提供完整的类型定义
-   **ES模块**：使用现代ES模块，更好的摇树和性能

## 📦安装

```bash
npm install happo --save-dev
# or
pnpm add happo --save-dev
# or
yarn add happo --dev
```

## 🛠️用法

### 基本配置

创建一个 `happo.config.ts` 项目根目录下的文件：

```typescript
import { defineConfig } from 'happo';

export default defineConfig({
  apiKey: process.env.HAPPO_API_KEY!,
  apiSecret: process.env.HAPPO_API_SECRET!,
  targets: {
    'chrome-desktop': {
      type: 'chrome',
      viewport: '1280x720',
    },
    'firefox-desktop': {
      type: 'firefox',
      viewport: '1280x720',
    },
    'ios-safari': {
      type: 'ios-safari',
    },
  },
});
```

### CLI使用

在CLI中运行Happo：

```bash
npx happo
```

CLI将自动找到您的配置文件并运行可视化回归测试套件。

## 🔧配置选项

### 支持的配置文件

库自动检测配置文件的顺序如下：

-   `happo.config.js`
-   `happo.config.mjs`
-   `happo.config.cjs`
-   `happo.config.ts`
-   `happo.config.mts`
-   `happo.config.cts`

### 关键配置属性

-   **`apiKey`** ＆ **`apiSecret`**： happo.io的鉴权凭证
-   **`integration`**：设置集成类型
-   **`targets`**：目标配置，包括常规浏览器和可访问性目标
-   **`project`**：可选项目名称
-   **`deepCompare`**：计算差异的可选设置
-   **`blockApproval`**：阻止比较被批准的可选条件

### 阻止批准

使用 `blockApproval` 在某些问题解决之前阻止比较被批准：

```ts
export default defineConfig({
  // ...
  blockApproval: {
    // Block when the report has examples that failed to render
    renderErrors: true,
    // Block when the comparison introduces new accessibility violations
    accessibilityViolations: true,
    // Block when a page starts to scroll sideways (needs a target with
    // `detectHorizontalOverflow`)
    horizontalOverflow: true,
  },
});
```

由于它存在于配置中，因此您可以在单个拉取请求中启用条件（并修复那里的问题），而不会影响存储库中的其他工作。

### 浏览器的目标

支持的浏览器类型：

-   **桌面**： `chrome`， `firefox`， `edge`， `safari`， `accessibility`
-   **移动**： `ios-safari`， `ipad-safari`

每个目标都支持高级选项，如：

-   视窗大小
-   最大尺寸
-   配色偏好
-   静音动画设置
-   动画（APNG）快照捕获通过 `animate` (实验性的，没有根据 `ios-safari`/`ipad-safari`）

## 🤝贡献

欢迎在 [happo / happo](https://github.com/happo/happo/issues)． 这个包现在是在Happo自己的存储库中开发的，所以Happo / Happo中的代码不再更新，并且那里的pull请求不能按原样合并。

## 📄许可证

本项目在麻省理工学院许可下授权-参见 [许可证](https://npmcn.com/package/happo/LICENSE) 文件查看详细信息。

## 🔗链接

-   [文档](https://docs.happo.io/)
-   [happo.io](https://happo.io/)
-   [npm包](https://www.npmjs.com/package/happo)
-   [发布说明](https://happo.io/release-notes/happo)

## 💡支持

支持和问题：

-   检查 [文档](https://docs.happo.io/)
-   在这个GitHub存储库中打开一个issue
-   happo联系。IO支持 [support@happo.io](mailto:support@happo.io)

## 常见问题

### happo 是什么？

捕捉意外的视觉和可访问性变化以及UI错误

### 如何安装 happo？

在项目目录运行 npm install happo，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 happo，可以用 npx happo 直接运行。

### happo 支持 TypeScript 吗？

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

### happo 支持 ESM 还是 CommonJS？

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

### happo 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.18\.0 \|\| \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### happo 可以商用吗？

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

### happo 还在维护吗？

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

