用途:指导 Next.js 与 Enonic XP 无头集成(Next.XP)的设置、开发与排错,覆盖适配器配置、内容映射、数据获取、预览与部署。
主要能力:先识别工作区集成面(检查 next.config.、package.json 中 next 依赖、含 com.enonic.xp 的 build.gradle、@enonic/nextjs-adapter 引用),可运行 node scripts/find-nextxp-targets.mjs . 盘点项目、ENONIC_ 环境变量、_mappings.ts 与查询文件;无 Node 时手动检查。配置适配器:在 .env 或 .env.local 设置 ENONIC_API_TOKEN、ENONIC_APP_NAME、ENONIC_MAPPINGS、ENONIC_API,安装 npm install @enonic/nextjs-adapter,在 src/components/_mappings.ts 引入 baseMappings。内容映射:为内容类型创建 Guillotine 查询(用 ... on AppName_ContentTypeName 内省)、React 视图,并以 ComponentRegistry.addContentType() 注册;页面/部件/布局分别用 addPage()、addPart()、addLayout();富文本用 richTextQuery() 与 RichTextView。Guillotine 数据:以 $path:ID! 取内容,部件导出 query 与 variables 函数,可选 processors 后处理,常用查询用 setCommonQuery(),URL 处理用 getUrl()/getAsset()。预览:在 XP 安装 Next.XP 应用并加入站点,预览默认 URL http://127.0.0.1:3000,生产通过 nextjs.default.url 与 nextjs.default.secret 配置;预览自动切 draft 分支,公开前端用 master 分支。部署:用 enonic cloud app install 部署应用,创建 ingress 暴露 /site(公开路径 /api),前端可部署至 Vercel,设置生产环境变量。验证:重跑扫描脚本、核对独立渲染与预览、测试映射、用 validateData() 校验、运行 npm run build。
限制与排错:需先确认目标是 Next.js 侧还是 Enonic 侧,非 Next.js + Enonic XP 项目不适用;版本兼容(适配器 v4.x、Next.js 16+、React 19)参见 references/compatibility.md;空预览查 troubleshooting.md,查询异常可在 GraphQL Playground 验证,预览正常而公开站点无内容需确认已发布。