← 中文资源

简体中文版本

在 CLI 中解析 YAML 配置

加载并校验 YAML 配置,用清晰的错误信息让畸形文件明确失败而非被静默忽略。

阅读英文原文

目标

配置文件里的拼写错误被静默忽略,CLI 以意外默认值运行。本配方解析 YAML 后用 schema 校验,校验失败时以非零码退出并打印出错的键路径,并启用严格模式让未知键暴露为错误;提醒 schema 变更可能破坏既有文件,YAML 存在意外的类型强转。

步骤要点

  1. 解析 YAML 并用 schema 校验。
  2. 校验失败时以非零码退出并打印出错键路径。
  3. 用严格模式暴露未知键。
  4. 对易歧义的标量加引号并文档化格式。
import { readFileSync } from 'node:fs';
import { parse } from 'yaml';
const raw = parse(readFileSync('config.yaml', 'utf8'));
const result = schema.safeParse(raw);
if (!result.success) {
  console.error('config.yaml invalid:', result.error.issues.map(i => i.path.join('.')).join(', '));
  process.exit(2);
}

排错提示

  • schema 过严会破坏前向兼容。
  • YAML 存在挪威问题等类型陷阱。
  • 不覆盖密钥插值。

适用边界

  • schema 变更可能破坏旧文件。
  • 不负责密钥注入。