QuillCMS - 基于Nodejs、Nuxtjs、MongoDB构建内容管理系统

QuillCMS是一个基于Nodejs、Nuxtjs、MongoDB构建的内容管理系统,结构清晰,便于拓展,极其适合前端工程师进行二次开发。前端

二话不说,先看源码/演示站vue

GitHub: https://github.com/ximolang/QuillCMSgit

演示站:跨界猿github

为何要写个CMS

搜索Nodejs CMS能够看到不少用Node写的内容管理系统,大名鼎鼎的KeystoneJS是其中一个,可是在我想要去利用它搭建一个站点尝试二次开发的时候却发现并非那么容易理解,至少在我刚接触的时候是这样。国内还有DoraCMS、NoderCMS之类的系统,DoraCMS我也曾有过尝试,可是到了2.0的版本后变化比较大,要理清楚系统各部分的关系是比较困难的。后端

想来想去,还不如本身写一个简单的、不须要过多配置、一句命令就能跑起来的CMS。前端工程师

技术选型

CMS的核心也就是后台的内容管理,同时具备前台展现、SEO需求等功能。考虑到选用Node作为后端的前端工程师偏多,因此干脆选用Nodejs+Nuxtjs+MongoDB进行构建。Nuxtjs支持服务端渲染,上手也很简单,是基于vue的服务端渲染程序的不二选择。后端框架选用了Express,不少人可能会说为啥不选Koa2,当时选的时候仍是有所考虑,虽然我更喜欢Koa但仍是选择了Express,若是如今开始再写一个CMS(或者其余项目),我绝对选Koa2,或者直接Egg.js。框架

功能设计

后台管理网站

  1. 用户管理
  2. 文章管理
  3. 分类管理
  4. 标签管理
  5. 友链管理
  6. 广告管理
  7. 系统配置(配置文件修改)
  8. 上传图片至七牛云(可选)

前台展现ui

  1. 风格简洁,响应式
  2. 首页、文章列表、文章详情、用户中心
  3. 文章的分享、点赞、收藏、评论功能
  4. 用户中心修改资料、关注用户
  5. 文章发布功能(暂未提供修改功能)

系统特色

总体功能偏简,并无进行过多的通用性设计,这对于使用者来讲有好有坏,通用功能比较基础,其余的须要本身开发。设计

前台展现风格也须要本身自定义,毕竟网站基本不会一个样。虽然须要自定义,但我相信了解Nuxtjs进行二次开发是及其简单的事情,由于每一个页面是独立的,每一个页面引用的组件也对应放在目录中。

总结

写这个CMS的过程让我第一次在一个月的时间里坚持Github全绿,我对先后端了解也通透了许多。CMS的部署文档尚未,后面再加吧,有没有人用还说很差,毕竟选择太多,容易看花眼。

相关文章
相关标签/搜索