1. 安装
确保您安装了最新的 LTS 版本或更新的 Node.js,并运行了准备连接的数据库。
在终端中运行以下命令并按照提示进行操作。
npm init directus-project example-project
从列表中选择 SQLite。 使用向上/向下箭头键选择 SQL 类型。
? Choose your database client SQLite
之后,将建议您的数据库“data.db”的文件路径。 按回车键坚持使用默认路径。
? Database File Path: <file-path>/example-project/data.db
接下来,您将设置您的用户名/电子邮件和密码。
Create your first admin user:
? Email: admin@example.com
? Password: ********
在那之后,你们都准备好了!
您的项目已创建于 <file-path>/example-project.
配置可以在 <file-path>/example-project/.env
安装完成后,您可以通过导航到项目文件夹 (在本例中为 example-project
) 并运行以下命令来启动 Directus:
npx directus start
之后,您将看到以下消息:
✨ Server started at http://localhost:8055
其他选项
当您将其他类型的 SQL 链接到 Directus 时,您可能会有额外的提示:
- Database Host – 数据库的 IP 地址。
- Port – 运行数据库的端口号。
- Database Name – 现有数据库的名称。
- Database User – 数据库中现有用户的名称。
- Database Password – 进入数据库的密码。
- Enable SSL – 选择“Y”表示是或选择“N”表示否。
- Root – 提供根名称。
只需根据您的项目需要配置这些。
Directus 为您的数据库播种
Directus 将几十个表安装到它所链接的数据库中。 但是,这不会改变预先存在的数据表。
2. 登录应用程序
随着服务器的运行,您现在可以登录到新的 Directus 项目并开始使用它。
我们的启动命令表明服务器从端口 8055 启动,这意味着我们可以导航到 http://localhost:8055
以在浏览器中打开 Directus。
使用您在步骤 1 中安装期间配置的管理员凭据登录。
3. 创建一个集合
登录后,您会看到创建您的第一个集合的选项:
按照提示创建一个集合。 为了这个演示,我们将把我们的文章称为“文章”,但请随意将其设为您自己的!
更多关于集合的信息
要了解更多信息,请参阅我们的文档 Collections。
4. 创建字段
创建集合后,是时候开始添加一些字段了。 点击 **“创建字段”**按钮,然后选择 “输入”:
我们将调用我们的字段title
。 尽管 Directus 提供了一系列强大的字段自定义选项,但我们现在将坚持使用默认设置。 这些默认值使用“String”数据类型。
有关字段的更多信息
要了解更多信息,请参阅我们关于 字段 的文档。
5. 创建一个项目
现在我们已经配置了一个带有字段的集合,是时候开始添加一些内容了。 导航到内容模块(左上角),然后单击右上角的 add 开始。 这将带您进入创建/编辑项目页面:
对创建感到满意后,单击右上角的 check 将您的项目保存到数据库中。
有关项目的更多信息
要了解更多信息,请参阅我们关于 Items 的文档。
6. 设置角色/公共权限
默认情况下,输入 Directus 的所有内容都被视为私有内容。 这意味着 API 不会返回任何数据,除非由具有正确权限的经过身份验证的用户请求。 为了让 API 返回我们的项目,我们必须设置一些权限。 导航到设置模块 chevron_right 角色和权限。
Directus 附带一个特殊的 “Public” 角色,该角色控制将哪些数据返回给未经身份验证的用户。 选择公共角色,找到您的集合,然后单击 visibility 图标下的图标(读取/查看权限)以允许公共角色读取您集合中的项目。
7. 连接到 API
现在您的项目中有一些内容,是时候开始在外部使用这些内容了。 可以通过多种方式访问数据,包括 REST API、GraphQL、CLI,甚至直接从数据库访问。 在这种情况下,我们将使用 /items/
REST API 端点 来检索我们刚刚创建的项目。
使用您的浏览器或 API 工具,如 Postman 或 Paw 打开
http://localhost:8055/items/articles
。
它就在那里! 您刚刚创建的文章项以漂亮的 JSON 格式提供,可以随时随地使用!
{
"data": [
{
"id": 1,
"title": "Hello World!"
}
]
}