SuperAPI AI 工具集

contentstack-kickstart

通用与其它

查看项目

更新于 10-16 05:03

技能介绍

用途:该技能面向 kickstart-next-ssr 仓库,在修改 Contentstack 栈创建方式、Live Preview 接入、内容类型与查询、TypeScript 类型或环境变量名称时使用。

主要入口:lib/contentstack.ts 提供 getStack()、initLivePreview()、getPage(),是 SDK 与预览行为的核心;app/page.tsx 为服务端页面,读取 Live Preview 的 searchParams、应用 livePreviewQuery 并取页面数据;components/ContentstackLivePreview.tsx 为客户端组件,在启用预览时调用 initLivePreview();lib/types.ts 定义 Page 及嵌套模块块的 TypeScript 结构;app/layout.tsx 引入全局样式并在 children 之后挂载预览组件。

用法要点:服务端处理交付或预览时,务必每次请求新建栈实例,避免并发请求间 Live Preview 配置泄漏;getPage(url, stackInstance?) 接受可选栈,便于在同一实例上先配置预览再取数据。预览 URL 会带 live_preview、content_type_uid、entry_uid、preview_timestamp 等查询参数;若存在 live_preview,则在 getStack() 得到的栈上调用 stack.livePreviewQuery({...}),再传入 getPage("/", stack)。客户端在 NEXT_PUBLIC_CONTENTSTACK_PREVIEW === "true" 时于 useEffect 内执行 initLivePreview(),采用 ssr:true 与 mode:"builder"。

内容查询:默认按内容类型 page、字段 url 配合 QueryOperation.EQUALS 取数据;启用预览时对条目应用 contentstack.Utils.addEditableTags 以支持可视化搭建。

环境变量:均为 NEXT_PUBLIC_* 前缀,包含 API_KEY、DELIVERY_TOKEN、PREVIEW_TOKEN、REGION、ENVIRONMENT、PREVIEW,另有主机覆盖项与图片域名白名单。依赖包括 @contentstack/delivery-sdk、@contentstack/live-preview-utils、@timbenniks/contentstack-endpoints 与 isomorphic-dompurify。

限制:资料未提供安装命令、收费与可用版本等信息;具体步骤需以仓库 README 与代码为准。