更新时间: 2025-12-29
用途: 所有文档的快速导航
文档数量: 27个文档(总计 12,450+ 行)
- 🚀 快速开始 - 入门必读
- 📖 核心文档 - 主要功能文档
- 🎯 功能索引 - 按功能查找
- 🗄️ 导出器 - 数据库Schema导出
- 🛠️ 工具类 - 辅助工具
- 📖 使用指南 - 完整教程
- 🔧 故障排查 - 问题解决
- 📝 示例代码 - 完整示例
- ❓ 常见问题 - FAQ
| 文档 | 阅读时间 | 说明 |
|---|---|---|
| README.md | 3分钟 | 项目介绍、安装和快速开始 ⭐ |
| quick-start.md | 5分钟 | 5分钟快速上手教程 ⭐ |
| design-philosophy.md | 15分钟 | 设计理念与性能权衡 ⭐⭐⭐ |
| FEATURE-INDEX.md | 10分钟 | 完整功能索引 ⭐ |
| best-practices.md | 15分钟 | 最佳实践指南 ⭐⭐⭐ |
| faq.md | 5分钟 | 常见问题解答 |
| 文档 | 行数 | 说明 |
|---|---|---|
| dsl-syntax.md | 2815行 | DSL语法完整指南(最重要)⭐⭐⭐ |
| string-extensions.md | 465行 | String扩展文档 ⭐⭐ |
| plugin-system.md | 580行 | 插件系统指南 ⭐⭐ |
| api-reference.md | 534行 | API完整参考 ⭐⭐ |
| validate.md | 452行 | validate方法详解 ⭐ |
| validate-async.md | ~700行 | 异步验证方法详解 ⭐⭐⭐ |
| schema-utils-chaining.md | ~680行 | Schema链式复用方法 ⭐⭐⭐ |
| schema-utils-best-practices.md | ~500行 | SchemaUtils最佳实践与常见陷阱 ⭐⭐⭐ |
| schema-utils-advanced-issues.md | ~600行 | SchemaUtils深入问题分析 ⭐⭐ |
| 功能 | 文档 | 代码位置 |
|---|---|---|
| dsl() 函数 | api-reference.md | lib/adapters/DslAdapter.js |
| DslBuilder 类 | api-reference.md | lib/core/DslBuilder.js |
| String 扩展 | string-extensions.md | lib/core/StringExtensions.js |
| Validator 类 | validate.md | lib/core/Validator.js |
| validate() 函数 | api-reference.md | index.js |
| validateAsync() 函数 | validate-async.md | index.js |
| ValidationError 类 | validate-async.md | lib/errors/ValidationError.js |
| SchemaUtils 链式调用 | schema-utils-chaining.md | lib/utils/SchemaUtils.js |
将 JSON Schema 转换为数据库 DDL 和验证规则
⚠️ 重要提示: 请先阅读 导出限制说明,了解哪些特性无法导出到数据库 Schema。
| 文档 | 说明 |
|---|---|
| export-limitations.md | 导出限制完整说明(必读)⭐⭐⭐ |
主要内容:
- ❌ 不支持导出的特性(条件验证、自定义验证器等)
⚠️ 部分支持的特性(正则、范围、枚举等)- ✅ 完全支持的特性(基础类型、必填约束等)
- 数据库特定限制对比(MongoDB/MySQL/PostgreSQL)
- 最佳实践建议(分层验证、文档化约束等)
| 文档 | 行数 | 说明 |
|---|---|---|
| mongodb-exporter.md | ~200行 | MongoDB 导出器完整指南 |
主要功能:
export()- 导出 $jsonSchema 验证规则generateCreateCommand()- 生成创建集合命令(含验证)generateCommand()- 生成完整 runCommand 命令MongoDBExporter.export()- 静态快速导出方法
| 文档 | 行数 | 说明 |
|---|---|---|
| mysql-exporter.md | ~220行 | MySQL 导出器完整指南 |
主要功能:
export()- 导出 CREATE TABLE DDLgenerateIndex()- 生成 CREATE INDEX DDL- 支持 ENGINE、CHARSET、COLLATE 配置
| 文档 | 行数 | 说明 |
|---|---|---|
| postgresql-exporter.md | ~280行 | PostgreSQL 导出器完整指南 |
主要功能:
export()- 导出 CREATE TABLE DDL(含 CHECK 约束)generateIndex()- 生成索引 DDL(支持 btree/gin/gist/hash)- 支持 Schema 命名空间和 COMMENT
| 文档 | 行数 | 说明 |
|---|---|---|
| type-converter.md | ~250行 | TypeConverter - 类型转换工具 |
| schema-helper.md | ~220行 | SchemaHelper - Schema 辅助工具 |
| cache-manager.md | ~250行 | CacheManager - LRU缓存管理 |
toMongoDBType()- 转换为 MongoDB 类型toMySQLType()- 转换为 MySQL 类型toPostgreSQLType()- 转换为 PostgreSQL 类型extractConstraints()- 提取约束信息mergeSchemas()- 合并多个 Schema
isValidSchema()- 验证 Schema 合法性cloneSchema()- 深度克隆 SchemaflattenSchema()- 扁平化嵌套 SchemagetFieldPaths()- 获取所有字段路径summarizeSchema()- 生成 Schema 摘要
- LRU 缓存策略(最近最少使用淘汰)
- TTL 过期支持
- 缓存统计(命中率、大小等)
- 线程安全设计
| 文档 | 行数 | 说明 |
|---|---|---|
| validation-guide.md | ~400行 | 数据验证完整指南 |
| export-guide.md | ~350行 | 数据库导出完整指南 |
| error-handling.md | ~640行 | 错误处理最佳实践 |
- 基础验证流程
- 字段类型验证(字符串/数字/布尔/数组/对象)
- 常用业务验证模式
- 批量验证与性能优化
- 错误处理最佳实践
-
MongoDB/MySQL/PostgreSQL 导出对比
-
配置与自定义选项
-
自动化迁移脚本
-
版本管理与最佳实践
-
⚠️ 导出限制说明 - 哪些特性无法导出 ⭐⭐⭐ -
数据库导出概述
-
MongoDB/MySQL/PostgreSQL 导出教程
-
多数据库同步方案
-
类型映射参考表
-
最佳实践与常见问题
| 文件 | 说明 |
|---|---|
| simple-example.js | 简单示例 |
| dsl-style.js | DSL 风格完整示例 |
| string-extensions.js | String 扩展示例 |
| password-reset/ | 密码重置表单示例 |
| 文档 | 说明 |
|---|---|
| faq.md | 常见问题与解答 |
热门问题:
- DSL 语法与 Joi 语法的区别?
- 如何自定义验证规则?
- 如何优化验证性能?
- 不同数据库的类型映射?
- 如何处理验证错误?
| 文档 | 说明 |
|---|---|
| CONTRIBUTING.md | 贡献指南 |
| 文档 | 说明 |
|---|---|
| STATUS.md | 项目状态(243个测试全部通过) |
| CHANGELOG.md | 更新日志 |
| 分类 | 文档数 | 总行数 |
|---|---|---|
| 核心文档 | 4 | ~4,266 |
| 导出器文档 | 3 | ~700 |
| 工具类文档 | 3 | ~720 |
| 使用指南 | 3 | ~1,390 |
| 其他文档 | 9 | ~500 |
| 合计 | 22 | ~7,576 |
图例说明:
- ⭐ 重点推荐文档
- ⭐⭐ 核心文档
- ⭐⭐⭐ 必读文档
最后更新: 2025-12-29