用途:Payload 是开源、Next.js 原生的 headless CMS,采用代码优先配置,提供完整 TypeScript 支持,可自托管,并自动生成 REST 与 GraphQL API,适合构建内容驱动的全栈应用。
主要能力:以集合(collections)定义内容类型,支持 text、textarea、richText、number、email、date、checkbox、select、radio、relationship、upload、array、group、blocks 等字段类型;可配置基于函数的访问控制、hooks、草稿版本、媒体上传与多尺寸图片,以及 globals(单例)。自动生成 REST(/api/{collection})与 GraphQL(/api/graphql)接口,并提供服务端 Local API 与自动生成的 payload-types.ts 类型。
使用方式:执行 npx create-payload-app@latest my-app 创建项目,再 cd my-app 与 npm run dev,后台位于 http://localhost:3000/admin。在 payload.config.ts 中通过 buildConfig 配置数据库适配器(mongooseAdapter 或 postgresAdapter)、collections、secret 与 TypeScript 输出;用 getPayload({ config }) 在服务端调用 find、findByID、create、update、delete 等方法。schema 变更后可执行 npm run generate:types。构建与部署使用 npm run build 与 npm run start。
适用场景:内容驱动网站、博客、电商与需要自定义后台的 Next.js 项目,尤其适合偏好代码优先、自托管和完整类型安全的数据建模场景。
限制:资料未提供收费、价格、性能指标或具体托管成本等信息;实际数据库连接、环境变量(如 MONGODB_URI、PAYLOAD_SECRET)需自行配置,其他约束暂未提供。