# @adobe/reactor-validator 中文文档

规范地址：https://npmcn.com/package/%40adobe/reactor-validator/

版本：3\.1\.0
npm 元数据更新时间：2026-10-01T01:35:08.285Z
中文译文更新时间：2026-11-06T09:44:28.881Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40adobe/reactor-validator
原文对照：https://npmcn.com/package/%40adobe/reactor-validator/?lang=original
项目主页：https://github.com/adobe/reactor-validator#readme
源码仓库：https://github.com/adobe/reactor-validator

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

- 包体积（解压后）：76.6 kB，28 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=20\.17\.0
- 运行依赖：3 个
- 首次发布：2017-02-17T20:14:37.108Z
- 最新版本发布：2026-08-19T22:56:22.761Z
- 近 30 天下载量：3520（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：40（近 12 个月 8 个）

## 中文简介

验证 Tags 扩展包.

## 安装

```sh
npm install @adobe/reactor-validator
```

也可以使用：`pnpm add @adobe/reactor-validator`、`yarn add @adobe/reactor-validator`、`bun add @adobe/reactor-validator`

## README

# Adobe 体验平台标记扩展验证器

[![npm (scoped)](https://img.shields.io/npm/v/@adobe/reactor-validator.svg?style=flat)](https://www.npmjs.com/package/@adobe/reactor-validator)

Adobe 体验平台 Tags是一个下一代的标签管理解决方案,能够简化营销技术的部署. 关于Tags的更多信息,请访问 [产品网站](http://www.adobe.com/enterprise/cloud-platform/launch.html)。 。 。 .

扩展验证器帮助扩展开发者验证一个扩展包的结构良好. 即核查:

1.  扩展有一个 [显示](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en) (单位:千美元)`extension.json`匹配预期结构.
2.  所有被引用的目录和文件都存在于扩展目录中指定的位置. 名单 `viewBasePath` 必须指向现有的目录(不是文件,也不是缺少的路径);该路径下必须至少有一个文件.

关于开发Tags扩展名的更多信息,请访问 [扩展开发指南](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/overview.html?lang=en)。 。 。 .

## 使用量

此工具目前被集成,并自动执行到扩展开发者通常使用的其他工具中,即: [扩展沙盒工具](https://github.com/adobe/reactor-sandbox) 财务报告和审定财务报表 [扩展包件工具](https://github.com/adobe/reactor-packager)。这对大多数扩展开发者来说可能足够.

### 从命令行运行验证器

在运行验证器之前, 您必须先有 [节点.js](https://nodejs.org/en/) 安装在您的计算机上.

一旦Node.js被安装,通过执行您扩展目录中命令行中的以下命令来运行验证器:

```
npx @adobe/reactor-validator
```

### 将验证器纳入其他工具

如果您想要将验证器纳入自己的扩展开发工具,您可以首先将验证器安装为工具项目中的依赖性:

```
npm i @adobe/reactor-validator
```

一旦它被安装为依赖,请导入验证符并传递扩展显示对象(这是从一个 `extension.json` 存档). 如果从校验器返回的值是 `undefined`,然后扩展似乎已形成;否则,值将包含对所遇到问题的描述.

**支持的导入路径 :** 只支持有文件记载的切入点。 深度进口(例如:. `@adobe/reactor-validator/lib/validate`)不支持,并将失败 `ERR_PACKAGE_PATH_NOT_EXPORTED`。使用其中之一:

-   **节点 :** `require('@adobe/reactor-validator')` ——扫描文件系统并验证
-   **浏览器或捆绑:** `import validate from '@adobe/reactor-validator/validate'` ——对照提供的文件列表进行验证

```javascript
const validate = require('@adobe/reactor-validator');
const error = validate(require('./extension.json'));

// Will be undefined if no error was found.
console.log(error);
```

### 在浏览器或捆绑的应用程序中使用验证器

浏览器(或其他非节点)消费者应当使用 `@adobe/reactor-validator/validate` 子路径,所以他们不拉 在节点唯一的代码。 默认导出( E)`@adobe/reactor-validator`)扫描文件系统,仅供节点使用.

这个 `validate` 函数有签名 `(extensionDescriptor, fileList)`数字 :

-   **扩展 描述符 :** 解析扩展列表(例如: `extension.json`) (中文(简体) ).
-   **文件列表 :** 扩展包中每个文件的相对路径字符串阵列(例如从文件夹拾取器或zip). 调用者负责收集此列表; 校验者只检查是否有所需的路径 .
-   **回返情况:** `undefined` 如果有效,或找到第一个问题上的错误字符串.

```javascript
import validate from '@adobe/reactor-validator/validate';

const error = validate(manifestJson, Array.from(filesMap.keys()));
if (error) {
  console.error(error);
}
```

**网络包装的别名 `ajv`数字 :** 这个 `validate` 模块取决于 `ajv-draft-04`,这反过来又需要 `ajv` 并解决内部路径(例如:. `ajv/dist/core`) (中文(简体) ). 如果您的应用程序没有列出 `ajv` 作为直接的依赖,添加一个解析别名,这样捆绑者会使用验证器的 `ajv`数字 :

-   通过下列方式解决: **导出** 路径(例如). `@adobe/reactor-validator/validate`(没有) `package.json`,以避免 `ERR_PACKAGE_PATH_NOT_EXPORTED`。 。 。 .
-   离我远点 **软件包目录** 联 合 国 `ajv`时,不要 `ajv.js`,因此子路径解析并Watchpack ENOTDIR出错被避免.

在您的网页包配置中 :

```javascript
const path = require('path');

// Inside module.exports or your config object:
resolve: {
  alias: {
    'ajv': path.join(
      path.dirname(path.dirname(require.resolve('@adobe/reactor-validator/validate'))),
      'node_modules',
      'ajv'
    )
  }
}
```

或者,添加 `ajv` 作为您项目中直接依赖当前版本的用户, 因此此化名是不必要的 。 然而,这非常简陋。 这个项目保留使用不同版本的 `ajv` 在任何时间.

## 捐款

欢迎捐款! 读取 [贡献指南](https://npmcn.com/package/%40adobe/reactor-validator/CONTRIBUTING.md) 更多信息.

要开始 :

1.  安装 [节点.js](https://nodejs.org/)。 。 。 .
2.  克隆仓库.
3.  浏览项目目录后, 通过运行安装项目依赖性 `npm install`。 。 。 .

要手动测试您的更改, 请先从沙盒工具目录中运行以下命令 :

```
npm link
```

然后,在包含扩展的目录(任何您想要用于测试的扩展)中运行以下命令:

```
npx @adobe/reactor-validator
```

Npx会使用您本地链接的代码来执行沙盒工具,而不是在公共 npm 寄存器上发布的代码.

## 许可证发放

这个项目根据Apache V2许可证获得许可. 见 [自由主义](https://npmcn.com/package/%40adobe/reactor-validator/LICENSE) 更多信息.

## 常见问题

### @adobe/reactor-validator 是什么？

验证 Tags 扩展包\.

### 如何安装 @adobe/reactor-validator？

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

### @adobe/reactor-validator 支持 TypeScript 吗？

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

### @adobe/reactor-validator 支持 ESM 还是 CommonJS？

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

### @adobe/reactor-validator 需要什么版本的 Node\.js？

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

### @adobe/reactor-validator 可以商用吗？

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

### @adobe/reactor-validator 的下载量有多少？

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

### @adobe/reactor-validator 还在维护吗？

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

