CMS与strapi | 青训营笔记

455 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天

CMS与Strapi

1、CMS

CMS是什么?

CMS(Content Management System)是后台管理平台(内容/数据管理平台)。它是一种Web服务器与后端办公系统或流程之间的软件系统,包括一般的博客系统、新闻发布系统、综合性的网站管理程序。 在网站中,通过CMS,你只需选择喜爱的网站模板,进行文本、图片等的编辑处理,而不需要写HTML代码或手工建立一个页面。这大大地加快了建站的速度、降低了开发的成本。

CMS跟数据库有什么不同?

数据库偏研发角度,运营操作会容易误操作。CMS数据管理平台的数据维护平易近人。

官网开发完成之后,对于后续的运营和迭代只是文案调整的情况下,不需要开发介入,提高两者的协作效率。      

CMS最大的优势

只需要很少时间(几分钟)的配置过程,就可以生成一个接口。配置完后,数据的变更包括数据源的改变都不需要研发介入,运营就能完成。

2、Strapi

(1)Strapi介绍

Strapi是基于Nodejs的开源免费CMS框架,strapi帮助我们快速搭建CMS平台,且更完善的功能

Strapi是一个开源的无头 CMS,开发人员可以自由选择他们喜欢的工具和框架,并允许编辑使用他们的应用程序的管理面板来管理和分发他们的内容。基于一个插件系统,Strapi 是一个灵活的 CMS 管理面板和 API 是可扩展的,并且每个部分都是可定制的,以匹配很多使用场景。Strapi 还有一个内置的用户系统,可以详细管理管理员和最终用户可以访问的内容。

(2)Strapi中api接口怎么生成

①Content-Type Builder可以在里面创建一些结构体

②然后进入数据源 配置结构体【数据源和结构体是一一对应关系】,结构体中加入数据

③Roles中点public,结构体需要启动哪些接口,可以帮你直接生成一个接口的返回

④其中有一个数据的类型 relation,比如b结构体是a结构体的一个属性(即嵌套)

如果涉及这样的嵌套,在接回后加上 populate=deep参数(并安装依赖npm install strapi-plugin-populate-deep --save)。

没安装依赖需要加参数populate=*,但只能嵌套一层,如果嵌套多层需要加deep属性,麻烦。

子结构体的显示layout一定需要populate=deep这个属性。不然只能显示基础属性。