# @ampproject/toolbox-validator-rules 中文文档

规范地址：https://npmcn.com/package/%40ampproject/toolbox-validator-rules/

版本：2\.10\.1
npm 元数据更新时间：2024-06-14T00:34:10.192Z
中文译文更新时间：2026-11-06T01:26:04.015Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40ampproject/toolbox-validator-rules
原文对照：https://npmcn.com/package/%40ampproject/toolbox-validator-rules/?lang=original
项目主页：https://github.com/ampproject/amp-toolbox/tree/main/packages/validator-rules
源码仓库：https://github.com/ampproject/amp-toolbox

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

- 包体积（解压后）：12.3 kB，5 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2019-07-11T14:36:43.390Z
- 最新版本发布：2024-06-14T00:34:09.790Z
- 近 30 天下载量：139625（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：29（近 12 个月 0 个）

## 中文简介

帮助查询 AMP 校验器规则的库

## 安装

```sh
npm install @ampproject/toolbox-validator-rules
```

也可以使用：`pnpm add @ampproject/toolbox-validator-rules`、`yarn add @ampproject/toolbox-validator-rules`、`bun add @ampproject/toolbox-validator-rules`

## README

# AMP- Toolbox 校验规则

[![npm version](https://badge.fury.io/js/%40ampproject%2Ftoolbox-validator-rules.svg)](https://badge.fury.io/js/%40ampproject%2Ftoolbox-validator-rules)

查询公布了AMP验证器规则并摘录了所需信息 所有 AMP 格式的标记和属性.

## 使用量

通过 :

```
$ npm install @ampproject/toolbox-validator-rules
```

### 包括模块

#### ES 模块(浏览器)

```javascript
import validatorRules from '@ampproject/toolbox-validator-rules';
```

#### 常见Js( 节点)

```javascript
const validatorRules = require('@ampproject/toolbox-validator-rules');
```

### 使用模块

```javascript
  // Loads the validator rules remotely with default options
  const rules = await validatorRules.fetch();


  // The raw unprocessed rules
  console.log(rules.raw);

  // All tags, combined with their respective attribute lists
  console.log(rules.tags);

  // All extensions
  console.log(rules.extensions);

  // Get all tag names used in AMP for Email
  // The supported formats are AMP, AMP4EMAIL, AMP4ADS and ACTIONS
  const tags = rules.getTagsForFormat('AMP4EMAIL');

  // Display their names
  console.log(tags.map(tag => tag.tagName));

  // Get information about an extension
  const ext = rules.getExtension('AMP4EMAIL', 'amp-carousel');

  // Display supported versions
  console.log(ext.versions);
```

### 规则的格式

这些规则严格遵循了原型定义: [校验器. proto](https://github.com/ampproject/amphtml/blob/master/validator/validator.proto)。 。 。 .

具体而言:

-   这个 `raw` 属性未处理 [验证规则](https://github.com/ampproject/amphtml/blob/master/validator/validator.proto#L643),使用的格式与 `https://cdn.ampproject.org/v0/validator.json`
-   结果是: `getTagsForFormat` 编辑 `tags` 属性是列表 [标记Spec](https://github.com/ampproject/amphtml/blob/b892d81467594cab5473c803e071af5108f834a6/validator/validator.proto#L463)
-   结果是: `getExtension` 实值 [扩展Spec](https://github.com/ampproject/amphtml/blob/b892d81467594cab5473c803e071af5108f834a6/validator/validator.proto#L388) 与 `htmlFormat` 从字段 `TagSpec`
-   这个 `extensions` 属性列表 [扩展Spec](https://github.com/ampproject/amphtml/blob/b892d81467594cab5473c803e071af5108f834a6/validator/validator.proto#L388) 与 `htmlFormat` 从字段 `TagSpec`
-   这个 `errors` 属性组合 [错误格式](https://github.com/ampproject/amphtml/blob/b892d81467594cab5473c803e071af5108f834a6/validator/validator.proto#L874) 财务报告和审定财务报表 [特定错误](https://github.com/ampproject/amphtml/blob/b892d81467594cab5473c803e071af5108f834a6/validator/validator.proto#L869)

### 选项

`fetch` 可选择接受选项对象,允许您自定义其 行为.

支持以下选项:

-   `noCache`: 真实到总是获取最新规则(默认情况下,后续调用到 `fetch` 重复使用同样的结果).
-   `rules`:反对使用本地指定的规则,而不是从 AMP CDN 中获取这些规则.
-   `url`: 覆盖获取验证器规则的 URL .
-   `source`: 一个 `'local'` (从本地文件中装入规则名为"validator.json"), `'remote'` (比照CDN的规则)或 `'auto'` 默认值(先查找本地文件,然后尝试从 CDN 获取).

示例

```
validatorRules.fetch({
  noCache: true,
  source: 'remote'
});
```

## 常见问题

### @ampproject/toolbox-validator-rules 是什么？

帮助查询 AMP 校验器规则的库

### 如何安装 @ampproject/toolbox-validator-rules？

在项目目录运行 npm install @ampproject/toolbox-validator-rules，或使用 pnpm add / yarn add / bun add。

### @ampproject/toolbox-validator-rules 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ampproject\_\_toolbox-validator-rules 是否存在。

### @ampproject/toolbox-validator-rules 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @ampproject/toolbox-validator-rules 可以商用吗？

@ampproject/toolbox-validator-rules 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @ampproject/toolbox-validator-rules 的下载量有多少？

根据 npm 官方下载统计，@ampproject/toolbox-validator-rules 在 2026/10/06 – 2026/11/04 这 30 天内被下载 139,625 次，日均约 4,654 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @ampproject/toolbox-validator-rules 还在维护吗？

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

