先决条件

在安装 Strapi 之前,必须在您的计算机上安装以下要求:

  • ​v4.3.9​​Strapi及以上版本推荐使用 Node v18.x
  • 建议将 Node v16.x 用于 Strapi​​v4.0.x​​到​​v4.3.8​​.
  • 您首选的 Node.js 包管理器:

​#​​🚀 A 部分:使用 Strapi 创建一个新项目

​#​​第一步:运行安装脚本

在终端中运行以下命令:

  • NPM
  • yarn
npx create-strapi-app@latest my-project --quickstart

✏️注意

快速启动安装使用 SQLite 数据库设置 Strapi。其他数据库和安装选项可用。

​#​​第二步:注册第一个管理员用户

安装完成后,您的浏览器会自动打开一个新选项卡。

通过填写表格,您可以创建自己的帐户。完成后,您将成为此 Strapi 应用程序的第一个管理员用户。欢迎登机,指挥官!

您现在可以访问​​管理面板 (打开新窗口)​​:

 strapi:快速入门指南_字段

🥳 恭喜!

您刚刚创建了一个新的 Strapi 项目!您可以开始使用 Strapi 并使用我们的用户指南自行发现产品,或继续下面的 B 部分。

​#​​🛠 B 部分:构建您的内容

安装脚本刚刚创建了一个空项目。我们现在将指导您创建餐厅目录,灵感来自我们的​​FoodAdvisor (打开新窗口)​​示例应用程序。

简而言之,我们将为您的内容创建一个数据结构,然后添加一些条目并发布它们,以便可以使用您的内容的 API。

Strapi 的管理面板运行在​​http://localhost:1337/admin (打开新窗口)​​. 这是您将花费大部分时间创建和更新内容的地方。

💡 提示

如果服务器尚未运行,请在您的终端中​​cd​​进入​​my-project​​文件夹并运行​​npm run develop​​(或​​yarn develop​​)以启动它。

​#​​第 1 步:使用 Content-type Builder 创建集合类型

Content-type Builder 插件可帮助您创建数据结构。当使用 Strapi 创建一个空项目时,这就是派对的开始!

​#​​创建“餐厅”集合类型

您的餐厅目录最终将包含许多餐厅,因此我们需要创建一个“餐厅”集合类型。然后我们可以描述添加新餐厅条目时要显示的字段:

  1. 转到插件(Plugins)内容类型生成器 (Content-Type Builder)在主导航中。
  2. 单击创建新的集合类型
  3. 键入显示名称​Restaurant​​,然后单击继续
  4. 单击文本(Text)字段。
  5. 名称字段中键入name。
  6. 切换到Advanced Settings选项卡,并勾选必选(Required 字段和唯一(Unique) 字段设置。
  7. 单击添加另一个字段(Add another fileld)
  8. 选择富文本(Rich text)字段。
  9. 在名称​​​字段下键入​​description​​,然后单击完成
  10. 最后点击保存,等待 Strapi 重启。

 strapi:快速入门指南_集合类型_02

一旦 Strapi 重新启动,“餐厅”将列在导航中的内容管理器 > 集合类型下。哇,您刚刚创建了您的第一个内容类型!太酷了——让我们现在再创建一个,只是为了好玩。

​#​​创建“类别”集合类型

如果我们的餐馆目录有一些类别,这将有助于更有条理。让我们创建一个“类别”集合类型:

  1. 转到插件内容类型生成器 (打开新窗口)在主导航中。
  2. 单击创建新的集合类型
  3. 键入显示名称​Category​​,然后单击继续
  4. 单击文本字段。
  5. 名称字段中键入​​name​​。
  6. 切换到Advanced Settings选项卡,并检查Required 字段Unique 字段设置。
  7. 单击添加另一个字段
  8. 选择关系字段(Relation)。
  9. 在右侧,单击Category相关字段框并选择“Restaurant”。
  10. 在中心,选择代表“多对多”的图标。文本应为​​Categories has and belongs to many Restaurants​​.
  11. 最后,点击Finish,然后点击Save按钮,等待 Strapi 重启。

 strapi:快速入门指南_新窗口_03

​#​​第 2 步:使用集合类型创建新条目

现在我们已经创建了一个包含 2 种集合类型的基本数据结构,“餐厅(restaurant)”和“类别(Category)”,让我们使用它们通过创建新条目来实际添加内容。

​#​​为“餐厅”集合类型创建一个条目

  1. 在导航中
    转到内容管理器(Content Manager) > 集合类型 - 餐厅(Restaurant) 。
  2. 单击创建新条目(Create new entry)
  3. 在名称字段中输入您最喜欢的当地餐馆的名称。假设是​​Biscotte Restaurant​​。
  4. 描述字段中,写下关于它的几句话。如果您缺乏灵感,可以使用​​Welcome to Biscotte restaurant! Restaurant Biscotte offers a cuisine based on fresh, quality products, often local, organic when possible, and always produced by passionate producers.​
  5. 单击保存

 strapi:快速入门指南_集合类型_04

该餐厅现已列在​​列表中(打开新窗口)​​看法。

​#​​添加类别

让我们转到

 ​​内容管理器 > 集合类型 - 类别(Category) (打开新窗口)​​并创建 2 个类别:

  1. 单击创建新条目
  2. ​French Food​​在名称字段中键入。
  3. 单击保存
  4. 返回Collection types - Category,然后再次单击Add new entry
  5. ​Brunch​​在名称字段中键入,然后单击保存

 strapi:快速入门指南_集合类型_05

“French Food”和“Brunch”类别现在列在​​集合类型 - 类别中 。

​#​​向餐厅添加类别

 ​​内容管理器 > 集合类型 - 餐厅 (打开新窗口)​​在导航中,单击“Biscotte Restaurant”。

在右侧边栏的“类别”下拉列表中,选择“早午餐(Brunch)”。单击保存

​#​​第 3 步:设置角色和权限

我们刚刚添加了一家餐厅和 2 个类别。我们现在有足够的内容可以消费(双关语)。但首先,我们需要确保内容可通过 API 公开访问:

  1. 单击主导航底部的Setting设置。
  2. 在Users & Permissions Plugin下,选择​​Roles (打开新窗口)​​.
  3. 单击公共角色。
  4. 在Permissions下向下滚动。
  5. 权限选项卡中,找到餐厅并单击它。
  6. 单击findfindone旁边的复选框。
  7. 对Category重复:单击findfindone旁边的复选框。
  8. 最后,点击保存

 strapi:快速入门指南_集合类型_06

​#​​第四步:发布内容

默认情况下,您创建的任何内容都保存为草稿。让我们发布我们的类别和餐厅。

首先,导航到 ​​Content Manager > Collection types - Category (打开新窗口)​​. 从那里:

  1. 单击“Brunch”条目。
  2. 在下一个屏幕上,单击Publish
  3. “确认”窗口中,单击“是,发布”

然后,返回类别列表并重复“法国食品”类别。

最后,要发布您最喜欢的餐厅,请转至发布它。

 strapi:快速入门指南_新窗口_07

​#​​第 5 步:使用 API

好的,亲爱的美食家,我们刚刚完成了内容创建并使其可通过 API 访问。你可以拍拍自己的背——但你还没有看到你辛勤工作的最终结果。

​​你在这里:可以在http://localhost:1337/api/restaurants​​访问餐厅列表​​ (打开新窗口)​​.

现在就试试!结果应该类似于下面的示例响应👇。