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 完全就是福音,补齐了后端短板,作为独立开发者来说是非常幸福的一件事!