# Payload:开源全栈 Next.js 框架,即刻获得后端超能力
## 项目简介
Payload 是一个基于 MIT 许可证的开源项目,由 TypeScript 编写,定位为“首个 Next.js 原生 CMS”。它可以直接安装到您现有的 `/app` 文件夹中运行,既是应用框架,也是无头 CMS。与传统的 CMS 不同,Payload 让您无需注册第三方 SaaS 服务,即可在 React Server Components 中直接查询数据库,同时拥有完全可扩展的管理后台和 API。该项目在 GitHub 上已获得超过 42,964 颗星,社区活跃,支持 Discord 讨论和 G2 评价。
## 主要功能
### 核心特性
– **完全免费且开源**:无供应商锁定,代码可自由修改和分发。
– **Next.js 原生集成**:直接运行在您的 `/app` 文件夹内,前后端可共存于同一项目。
– **TypeScript 全栈支持**:自动为您的数据生成类型定义,确保类型安全。
– **数据库查询**:在 React Server Components 中直接查询数据库,无需 REST 或 GraphQL 中间层。
– **认证系统**:开箱即用的用户认证功能。
– **版本与草稿**:支持内容版本控制和草稿管理。
– **本地化**:内置多语言支持。
– **区块式布局构建器**:基于块的页面布局编辑器。
– **可定制的 React 管理后台**:使用 React 构建,支持自定义组件和主题。
– **Lexical 富文本编辑器**:功能强大的富文本编辑体验。
– **条件字段逻辑**:根据其他字段值动态显示/隐藏字段。
– **细粒度访问控制**:对每个文档和字段设置权限。
– **钩子系统**:支持文档级和字段级的生命周期钩子。
– **高性能 API**:经过优化的快速响应。
– **安全性**:使用 HTTP-only Cookie、CSRF 防护等机制保障安全。
### 部署选项
– **Vercel 一键部署**:支持无服务器部署,结合 Neon 数据库和 Vercel Blob 存储。
– **Cloudflare 一键部署**:使用 Workers、R2 存储和 D1 数据库,实现全球复制。
### 模板与插件
– **官方模板**:提供网站、电商(最新推出)、博客、作品集等生产级模板。
– **社区模板**:用户可贡献自己的模板(添加 `payload-template` 标签)。
– **官方插件**:扩展功能,如 SEO、表单等。
– **社区插件**:用户可发布插件(添加 `payload-plugin` 标签)。
## 安装与使用
### 快速开始
1. **环境要求**:确保已安装 Node.js 和 npm/pnpm。
2. **创建项目**:使用 `pnpx create-payload-app@latest -t website` 命令创建基于网站模板的项目。
3. **运行开发服务器**:进入项目目录,执行 `pnpm dev`。
4. **访问管理后台**:默认在 `http://localhost:3000/admin` 登录。
### 迁移指南
从 v2 升级到 v3 的用户,请参考官方提供的 [3.0 迁移指南](https://payloadcms.com/docs/getting-started/what-is-payload)。
### 示例资源
– [示例目录](https://github.com/payloadcms/payload/tree/main/examples):包含多种配置方式的示例。
– [官方博客](https://payloadcms.com/blog) 和 [YouTube 频道](https://www.youtube.com/@payloadcms) 提供更多实践案例。
## 适用场景
– **无头 CMS**:为前端应用(如 React、Vue、静态站点)提供内容管理。
– **全栈应用**:前后端合并开发,减少架构复杂度。
– **电商平台**:使用电商模板快速搭建在线商店。
– **企业网站**:支持版本控制、本地化和细粒度权限。
– **博客/作品集**:轻量级内容管理,配合 Tailwind 前端。
– **需要快速部署的项目**:一键部署到 Vercel 或 Cloudflare。
## 注意事项
1. **许可证**:项目采用 MIT