strapi这个名字取自 bootstrap 的后缀 strap,然后因为它是一个提供快速生成安全可靠的 api 架构,然后再加了一个 i,合并就是 strapi,bootstrap 的有启动的意思,你可以用 strapi 来快速构建你的后端,可以快速让自己的项目启动。
你可以把 strapi 当做自己开发项目的快速启动的工具,就算没有后端基础,只要会 js,你就可以写出专业级的后端,是前端开发者的福利,更是独立开发者的一把尖刀利器!
安装教程,请自行到官方网站上去看看就知道了,一个命令即可。
从我一个刚开始认识 strapi 的小白状态,作为独立开发者,我对 strapi 有哪些期望,我做了一些探索,相当惊艳。
1、后端管理页面
首先,安装好 strapi 后,会有一个后台管理页面:http://localhost:1337/admin/

我没想到的是 strapi 还提供了后端管理功能,strapi 的定位是 headless content cms,一直以为真的就是无页面的,有这个页面,我们只要关注自己的业务,直接在上面去修改即可,非常方便。
2、内容类型生成器
如图所示,内置了内容类型生成器,这个工具可以让你自己添加数据库的表

数据库支持丰富的字段:

3、自动生成 API
比如安装好 strapi,建了一个 Test 的 Content-Type,通过访问http://localhost:1337/tests就能查看这个这个表的数据

当然不仅仅是获取所有数据,还有增删改等,有 api 文档,在插件市场里安装好即可
4、API 文档
在插件市场安装 Document 插件后,在左侧菜单栏可以看到 api 文档,你可以控制文档是否私有

文档其实是 swagger 做的

5、试试编写自定义 API
我们在命令行中通过命令strapi generate:controller script来自动生成一个叫 Script 的控制器,路径在./api/script/controller
编写如下代码:
'use strict';
/**
 * A set of functions called "actions" for `script`
 */
module.exports = {
  // exampleAction: async (ctx, next) => {
  //   try {
  //     ctx.body = 'ok';
  //   } catch (err) {
  //     ctx.body = err;
  //   }
  // }
  scripts: async (ctx, next) => {
    ctx.send("hello world")
  }
};
定义路由:在目录./api/script/config下,我们新建 routes.json
{
  "routes": [
    {
      "method": "GET",
      "path": "/scripts",
      "handler": "Script.scripts"
    }
  ]
}
这样我们就拥有接口/scripts接口啦

我们只要专注我们的业务,写出我们自己的 api 即可,是不是非常快非常爽呢?!
当然有能力的,一般会自己有自己的一套轮子,但对那些全栈能力比较差的,有了 strapi 完全就是福音,补齐了后端短板,作为独立开发者来说是非常幸福的一件事!