@apideck/better-ajv-errors

中文文档
0.3.7发布于 2026/03/28MITTypeScriptESM + CJS近 30 天下载 3565.7万

JSON Schema APIs 对人类友好的验证

中文使用文档
文档目录5 节
  1. 安装
  2. 使用量
  3. API 密码
  4. 更好的错误
  5. 相关

npm (scoped) npm GitHub Workflow Status

@ apideck/ better-ajv-errors - #############################################################################################################################################################################################################################################

JSON Schema APIs 对人类友好的验证

  • 可读和有帮助 页:1 错误
  • API 方便格式
  • 关于拼写错误的建议
  • 最小足迹: 1.56 kB(gzip + minized)

better-ajv-errors output Example

安装

$ yarn add @apideck/better-ajv-errors

或者说

$ npm i @apideck/better-ajv-errors

还要确保你安装好了 页:1 在版本8或更高.

使用量

用 ajv 验证一些数据后, 将错误传递到 betterAjvErrors

import Ajv from 'ajv';
import { betterAjvErrors } from '@apideck/better-ajv-errors';

// Without allErrors: true, ajv will only return the first error
const ajv = new Ajv({ allErrors: true });

const valid = ajv.validate(schema, data);

if (!valid) {
  const betterErrors = betterAjvErrors({ schema, data, errors: ajv.errors });
}

API 密码

更好的错误

将 ajv 校验错误格式化为方便人格式的函数 .

参数

  • options: BetterAjvErrorsOptions
    • errors: ErrorObject[] | null | undefined 你的jv错误,你会发现这些在 errors 您的 ajv 实例的财产( ưμ㼯a)ErrorObject 是 ajv 包中的一种类型.
    • data: Object 你传给Ajv的数据需要验证.
    • schema: JSONSchema 你传到Ajv的计谋来验证对手.
    • basePath?: string 返回前缀路径的可选基础路径 betterAjvErrors。例如,在APIs中,使用 '{requestBody}' 或者说 '{queryParemeters}' 作为基础Path。 这将向用户说明错误的确切发生地点.

返回值

  • ValidationError[] 格式化出错的组合( ValidationError (见下文)
    • message: string 格式化错误消息
    • suggestion?: string 根据所提供的数据和计划提出的任择建议
    • path: string 发生错误的对象路径( 例如 : .foo.bar.0.quz(中文(简体) )
    • context: { errorType: DefinedError['keyword']; [additionalContext: string]: unknown } errorType 实值 error.keyword 从 ajv。 。 。 . errorType 必要时可用作i18n的密钥. 根据出错的类型,可能存在额外的上下文属性.

版本与发布记录

@apideck/better-ajv-errors 共发布 16 个版本,首次发布于 2021/05/14;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.3.7latest2026/03/287 个月前
0.3.62022/06/284 年前
0.3.52022/06/284 年前
0.3.42022/05/254 年前
0.3.32022/02/094 年前
0.3.22021/12/234 年前

关于 @apideck/better-ajv-errors 的常见问题

@apideck/better-ajv-errors 是什么?

JSON Schema APIs 对人类友好的验证

如何安装 @apideck/better-ajv-errors?

在项目目录运行 npm install @apideck/better-ajv-errors,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:ajv(>=8)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@apideck/better-ajv-errors 支持 TypeScript 吗?

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

@apideck/better-ajv-errors 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@apideck/better-ajv-errors 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=10。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@apideck/better-ajv-errors 可以商用吗?

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

@apideck/better-ajv-errors 的下载量有多少?

根据 npm 官方下载统计,@apideck/better-ajv-errors 在 2026/10/06 – 2026/11/04 这 30 天内被下载 35,657,223 次,日均约 1,188,574 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@apideck/better-ajv-errors 还在维护吗?

最新版本 0.3.7 发布于 2026/03/28(7 个月前);至今共发布 16 个版本,其中过去 12 个月发布了 1 个;首次发布于 2021/05/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。