介绍 graphql-complexity-validation
发布: (2026年1月20日 GMT+8 02:39)
1 min read
原文: Dev.to
Source: Dev.to
✨ 功能
- 零运行时依赖
- 完全类型化(TypeScript)
- 支持 fragments 与 inline fragments
- 默认忽略 introspection
适用于
- Apollo Server
- GraphQL Yoga
- Envelop
- NestJS
📦 安装
npm install graphql-complexity-validation
🧠 工作原理
- 每个字段都有一个成本(默认:1)。
- 嵌套字段递归累加成本。
- 如果总成本超过配置的最大值,验证将失败。
附加说明
- 无 directives。
- 无 schema 遍历。
- 无框架锁定。
🧪 示例
createComplexityLimitRule({
maxComplexity: 20,
fieldCosts: {
posts: 3,
comments: 2,
},
});
🔗 链接
- npm:
- GitHub:
反馈、问题和贡献均受欢迎 🙌
如果你觉得有用,请考虑给仓库加星 ⭐