用途:该技能专注于使用 @datocms/cda-client 查询 DatoCMS 的 Content Delivery API(CDA,只读 GraphQL)。当用户需要 GraphQL 内容读取时使用。
主要能力:涵盖基础查询(按 slug/ID 获取、单实例、集合、meta)、过滤(字段与 meta 过滤、AND/OR、深层、上传)、分页与排序、本地化、模块化内容(blocks、fragments、嵌套)、结构化文本(DAST 值/块/链接与渲染)、图片与媒体(responsiveImage、imgix、占位、焦点、视频)、SEO 与 meta、草稿/预览与缓存环境、类型生成(gql.tada、graphql-codegen)、片段模式、客户端配置与错误处理。
使用方式:先检测上下文——检查 package.json 是否含 @datocms/cda-client,未安装则执行 npm install @datocms/cda-client;查找已有 executeQuery 或 rawExecuteQuery 导入;检查 .env* 中 DATOCMSTOKEN* 变量并复用名称;判断框架以区分服务端与客户端查询;确认类型生成方式。随后按需读取 references/ 下相关参考文件。生成代码时默认使用 executeQuery,仅在需要响应头时用 rawExecuteQuery;查询用模板字符串,只请求所需字段,使用 DatoCMS 自定义标量类型,不写自定义重试逻辑。
适用场景:需要从 DatoCMS 读取内容的 GraphQL 查询,包括筛选、分页、本地化内容、结构化文本渲染、图片媒体处理与 SEO 元数据获取等。
限制:CDA 仅需只读令牌,不应将令牌暴露到浏览器(除非使用公开只读令牌);不要硬编码令牌;避免过度获取字段;结构化文本需包含所有相关子字段以免静默丢失数据;不适用变更内容、schema/上传/webhook 等写操作(应转向 datocms-cma),DAST 结构校验或转换转向 datocms-structured-text,前端集成与缓存失效转向 datocms-frontend-integrations,插件开发转向 datocms-plugin。其余细节暂未提供。