之前在 if 我是前端Leader,怎么走出小微前端团队的围墙? 这篇文章中提到了 strapi ,当时给我冲击很大,当时 v3.0 是个大版本beta持续了很久,今天就这gridsome+strapi 的东风,再做个整理和归纳。
新技术QA | |
---|---|
技术名称 | strapi@3.6.2—2021-05-15 |
文档官网 | https://strapi.io/ |
作者、技术团队 | |
能做解决什么问题 | headless cms场景,cms解决方案 |
特点、优点 | headless,定制型强直观 |
同类选型 | 腾讯云cms |
缺点、踩坑注意 | |
宣传语 | 🚀 Open source Node.js Headless CMS to easily build customisable APIs |
选型关键词 | headless cms,开源,自托管 |
基础使用
列出几个命令,安装过程涉及到一些打包构建的操作,会比较慢,综合实践还是建议使用 cnpm
无脑安装
npx create-strapi-app my-project --quickstart
# 这里的quickstart 意味着后端的数据库用的是本地的 sqlite
# 当然也可以
npm init strapi-app demo
# 不输入 quickstart 可以手动选择数据库、
# 自动安装依赖时候八成会卡住,取消依赖安装
cnpm i
# 手动进入注册管理员
strapi develop # watch mode
strapi start # without watch mode
strapi build # build
# 在打开的页面中注册管理员信息
注意:
- 还是建议通过
cnpm i
来绕过安装 - 如果第一次进入管理面板失败,报错和
match-sorter
有关的话,怀疑是需要单独cnpm i match-sorter@4 -S
锁版本解决
进入管理面板就轻车熟路了。
左侧菜单面板:
- collection types 相当于集合、仓库、数据库
- 插件
- 内容类型生成器,约定schema表结构、类型
- media library 内容管理
- 常规
- 时长
- 插件
- 设置 >
users & permissions plugin
>角色和权限
>public
,设定具体开发的api
下图是一个api的实例 ${baseURL}/${集合名称}
:
体验下来,感觉入门很简单