📜  Strapi 开始开发 (1)

📅  最后修改于: 2023-12-03 15:05:22.977000             🧑  作者: Mango

Strapi 开始开发

简介

Strapi 是一款开源的 Node.js CMS 框架,可以帮助开发者快速搭建并管理自己的应用程序。它提供了一种易于使用的 Admin 界面,可以方便地添加、编辑和删除内容,同时也可以通过 API 提供内容服务。

安装

首先,您需要具备 Node.js 和 npm 环境。可以使用以下命令安装 Strapi:

npm install strapi@beta -g

安装成功后,您可以使用以下命令创建一个新的 Strapi 应用程序:

strapi new myApp

其中 "myApp" 是您的应用程序名称。

开始使用

安装成功后,您可以在浏览器中访问 "http://localhost:1337/admin" 来进入 Strapi 的 Admin 界面。

在 Admin 界面中,您可以添加新的内容类型、自定义字段、上传媒体文件等。

例如,您可以创建一个名为 "Article" 的内容类型,里面包含 "title"、"content" 和 "author" 字段。

接下来,您可以通过以下 API 路由来访问您刚刚创建的内容:

http://localhost:1337/articles
http://localhost:1337/articles/:id
添加自定义控制器

Strapi 还提供了自定义控制器的功能,让您可以更加灵活地管理您的内容。例如,您可以创建一个名为 "ArticleController" 的控制器来处理 Article 内容类型的请求:

  1. 在 "api/" 目录下创建一个名为 "article" 的文件夹。
  2. 在 "article" 目录下创建一个名为 "controllers" 的文件夹。
  3. 在 "controllers" 目录下创建一个名为 "ArticleController.js" 的文件。

下面是 "ArticleController.js" 的示例代码:

module.exports = {
  async find(ctx) {
    const articles = await strapi.query('article').find();
    return articles;
  },

  async findOne(ctx) {
    const article = await strapi.query('article').findOne({ id: ctx.params.id });
    return article;
  },

  async create(ctx) {
    const article = await strapi.query('article').create(ctx.request.body);
    return article;
  },

  async update(ctx) {
    const article = await strapi.query('article').update({ id: ctx.params.id }, ctx.request.body);
    return article;
  },

  async delete(ctx) {
    const article = await strapi.query('article').delete({ id: ctx.params.id });
    return article;
  },
};

访问 "http://localhost:1337/article" 将调用 "find" 方法,返回所有 Article 内容。访问 "http://localhost:1337/article/:id" 将调用 "findOne" 方法,返回特定的 Article 内容。

总结

通过 Strapi,您可以快速搭建并管理自己的应用程序,同时也可以使用自定义控制器来更加灵活地管理您的内容。