Adobe 体验平台标记扩展验证器
Adobe 体验平台 Tags是一个下一代的标签管理解决方案,能够简化营销技术的部署. 关于Tags的更多信息,请访问 产品网站。 。 。 .
扩展验证器帮助扩展开发者验证一个扩展包的结构良好. 即核查:
- 扩展有一个 显示 (单位:千美元)
extension.json匹配预期结构. - 所有被引用的目录和文件都存在于扩展目录中指定的位置. 名单
viewBasePath必须指向现有的目录(不是文件,也不是缺少的路径);该路径下必须至少有一个文件.
关于开发Tags扩展名的更多信息,请访问 扩展开发指南。 。 。 .
使用量
此工具目前被集成,并自动执行到扩展开发者通常使用的其他工具中,即: 扩展沙盒工具 财务报告和审定财务报表 扩展包件工具。这对大多数扩展开发者来说可能足够.
从命令行运行验证器
在运行验证器之前, 您必须先有 节点.js 安装在您的计算机上.
一旦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'——对照提供的文件列表进行验证
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如果有效,或找到第一个问题上的错误字符串.
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出错被避免.
在您的网页包配置中 :
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 在任何时间.
捐款
欢迎捐款! 读取 贡献指南 更多信息.
要开始 :
- 安装 节点.js。 。 。 .
- 克隆仓库.
- 浏览项目目录后, 通过运行安装项目依赖性
npm install。 。 。 .
要手动测试您的更改, 请先从沙盒工具目录中运行以下命令 :
npm link
然后,在包含扩展的目录(任何您想要用于测试的扩展)中运行以下命令:
npx @adobe/reactor-validator
Npx会使用您本地链接的代码来执行沙盒工具,而不是在公共 npm 寄存器上发布的代码.
许可证发放
这个项目根据Apache V2许可证获得许可. 见 自由主义 更多信息.