Strapi
  • 简介
  • 快速入门
    • 概述
    • 设置管理面板
  • 项目结构
  • 安装
    • 概述
    • CLI
    • Docker
  • 部署
    • 概述
    • 指南
      • 概述
      • 使用 Caddy 代理 Strapi
      • 使用 Nginx 代理 Strapi
      • 使用 HAProxy 代理 Strapi
      • 使用 Traefik 代理 Strapi
      • 使用 PM2 运行 Strapi
  • 计费门户
  • 功能
    • 管理面板
    • 内容管理器
    • 内容类型构建器
    • API 令牌
    • 管理令牌
    • 审计日志
    • 内容历史
    • 自定义字段
    • 数据管理
    • 草稿与发布
    • 电子邮件
    • 国际化
    • 媒体库
    • MCP 服务器
    • 预览
    • 基于角色的访问控制
    • 发布
    • 审核工作流
    • 单点登录
    • 用户与权限
  • 插件
    • 文档
    • GraphQL
    • Sentry
    • 通过市场安装插件
  • AI
    • 面向开发者的 AI
    • 文档 MCP 服务器
    • 面向内容管理员的 AI
  • API
    • 内容 API
    • 文档
    • REST
      • 概述
      • 参数
      • 过滤器
      • 区域
      • 状态
      • 发布过滤器
      • 联表加载与字段选择
      • 关联
      • 排序与分页
      • 上传
      • 交互查询构建器
      • 开发指南
        • 概述
        • 理解 populate 参数
        • 自动填充创作者字段
    • Strapi 客户端
    • OpenAPI 规范
    • 文档服务
      • 概述
      • 字段
      • 过滤器
      • 本地化
      • 中间件
      • 联表加载
      • 排序与分页
      • 状态
      • 发布过滤器
    • GraphQL
      • 概述
      • 区域
      • 高级查询
      • 高级策略
    • 查询引擎
      • 概述
      • 排序与分页
      • 联表加载
      • 批量操作
      • 单条操作
      • 条件筛选
    • 实体服务
      • 概述
      • 过滤器
      • 组件与动态区域
      • 排序与分页
      • CRUD 操作
      • 联表加载
  • 配置
    • 概述
    • 管理面板
    • API
    • 定时任务
    • 数据库
    • 环境变量
    • 功能
    • 中间件
    • 插件
    • 服务器
    • Nodemailer 配置
    • 自定义邮件提供方
    • 媒体库提供方
    • 用户权限提供方
    • 函数
    • TypeScript
    • 指南
      • 访问并转换环境变量
      • 访问配置值
      • 配置 SSO
      • 基于角色的访问控制条件
    • users-and-permissions-providers
      • Keycloak 提供方在 Users & Permissions 中的设置
      • Instagram 提供方在 Users & Permissions 中的设置
      • LinkedIn 提供方在 Users & Permissions 中的设置
      • CAS 提供方在 Users & Permissions 中的设置
      • VK 提供方在 Users & Permissions 中的设置
      • Facebook 提供方在 Users & Permissions 中的设置
      • Patreon 提供方在 Users & Permissions 中的设置
      • Twitter 提供方在 Users & Permissions 中的设置
      • Twitch 提供方在 Users & Permissions 中的设置
      • GitHub 提供方在 Users & Permissions 中的设置
      • Reddit 提供方在 Users & Permissions 中的设置
      • 创建并添加自定义 Users & Permissions 提供方
      • Google 提供方在 Users & Permissions 中的设置
      • Auth0 提供方在 Users & Permissions 中的设置
      • AWS Cognito 提供方在 Users & Permissions 中的设置
      • Discord 提供方在 Users & Permissions 中的设置
    • sso-providers
      • Keycloak SSO 提供方
      • GitHub SSO 提供方
      • Okta SSO 提供方
      • Microsoft SSO 提供方
      • Google SSO 提供方
      • Discord SSO 提供方
    • media-library-providers
      • 本地上传提供方
      • Cloudinary 提供方
      • Amazon S3 提供方
  • 开发
    • 后端自定义
      • 概述
      • 请求与响应
      • 路由
      • 策略
      • 中间件
      • 控制器
      • 服务
      • 模型
      • Webhooks
      • 指南
        • 自定义用户与权限插件路由
      • 示例
        • 概述
        • 使用 JWT 的身份验证流程
        • 自定义服务与控制器
        • 自定义策略
        • 自定义路由
        • 自定义中间件
    • 管理面板自定义
      • 概述
      • 徽标
      • 网站图标
      • 语言环境与翻译
      • 富文本编辑器
      • 打包器
      • 主题扩展
      • 管理面板扩展
      • 首页自定义
      • URL、主机和路径
    • 错误处理
    • strapi-utils
    • 模板
    • 测试
  • TypeScript
    • 概述
    • 开发
    • 指南
    • 支持
    • 操作文档与条目
  • 命令行界面
  • 插件开发
    • 开发插件
    • 插件创建与设置
    • 插件结构
    • 插件 SDK 参考
    • 管理面板 API 概览
    • 管理面板导航与设置
    • 内容管理器 API
    • 管理面板注入区
    • Redux 存储
    • 管理面板钩子
    • 管理面板本地化
    • 管理面板 Fetch 客户端
    • 服务端 API
    • 服务端生命周期
    • 服务端配置
    • 服务端内容类型
    • 服务端路由
    • 服务端控制器与服务
    • 服务端策略与中间件
    • 服务端 Getters 与用法
    • 使用插件扩展 MCP 服务端
    • 指南
      • 将数据从服务端传递到管理面板
      • 从插件创建管理面板权限
      • 存储和访问数据
      • 为插件创建组件
      • 复用内置的管理面板组件
    • 插件扩展
  • 升级工具
  • 迁移
    • v4-to-v5
      • 简介与常见问题
      • 分步指南
      • 破坏性变更
        • 概述
        • SQLite 客户端仅支持 `better-sqlite3` 包
        • 创建条目时上传文件不再受支持
        • 控制器中默认对 REST API 输入进行校验
        • 启用草稿与发布时不能将 'status' 用作属性名
        • defaultIndex 已移除
        • 模板现在是常规的独立 Strapi 应用
        • 文档服务 API 中不再有 findPage()
        • 核心服务方法使用文档服务 API
        • 组件与动态区域不再返回 id
        • publicationState 已移除并由 status 取代
        • Vite 是默认打包工具
        • 数据库生命周期钩子随文档服务 API 方法以不同方式触发
        • 保留的属性与内容类型名称
        • 禁用草稿与发布的内容类型始终将 publishedAt 值设置为日期
        • API 调用中应使用 documentId 而非 id
        • helper-plugin 已移除
        • Strapi 5 使用 React Router DOM 6
        • Strapi 是 Container 的子类
        • injectContentManagerComponent() 已移除
        • 服务器代理配置
        • 部分仅限环境变量的配置选项现由服务器配置处理
        • 模型配置路径使用 uid 而非点号表示法
        • watch-admin 模式默认启用
        • 数据库列
        • Strapi 5 使用 koa-body v6
        • 管理面板 RBAC 系统已更新
        • 用户与权限插件的 register.allowedFields 配置选项默认为 []
        • 空的 morphMany 关联在联表加载时返回 [] 而非 null
        • Strapi 5 中的设计系统更新
        • 实体服务已弃用
        • strapi.fetch 使用原生 fetch() API
        • 使用文档服务 API 更新可重复组件
        • ContentManagerAppState redux 已修改
        • Mailgun 提供方部分遗留变量不再受支持
        • locale=all 不能再用于查询所有语言版本
        • 组件与动态区域不再有共享联表加载策略
        • v5 中数据库标识符缩短
        • Webpack Aliases 已移除
        • 服务器日志级别为 `http`
        • CLI 默认包管理器不再是 yarn
        • webhooks.populateRelations 服务器配置已移除
        • Strapi 5 采用了新的扁平化 API 响应格式
        • 国际化(i18n)现已成为 Strapi 核心的一部分
        • MySQL 客户端仅支持 mysql2 包
        • Amazon S3 提供方凭据必须设置在 s3Options 下
        • Strapi 工厂导入已更新
        • lockIcon 被 licenseOnly 取代
        • 权限提供方实例的 getWhere() 方法已移除
        • 按 id 排序不再能按时间顺序排序
        • 已重写 `EditViewLayout` 和 `ListViewLayout`
        • Apollo Server v3 升级到 Apollo Server v4
        • strapi-utils 已重构
        • 配置文件名的严格限制
        • MySQL v5 不再受支持
        • GraphQL API 已更新
        • is-supported-image-removed
      • 附加资源
        • 插件升级摘要
        • 升级到 Strapi 5 的附加资源
        • 从 Entity Service API 到 Document Service API
        • Helper-plugin 迁移参考
  • 常见问题
  • 升级
  • 自定义
  • 使用信息
  • 设置与部署
  • 数据库迁移
  • 数据库事务
  • 社区
首页 迁移
📁

v4-to-v5

上一篇

升级工具

下一篇

v4-to-v5