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

2018-07-13 admin

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

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

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

演示站:跨界猿

为什么要写个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. 上传图片至七牛云(可选)

前台展示

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

系统特点

整体功能偏简,并没有进行过多的通用性设计,这对于使用者来说有好有坏,通用功能比较基础,其他的需要自己开发。

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

总结

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

原文链接:https://segmentfault.com/a/1190000015618637

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-35902.html

文章标题:QuillCMS - 基于Nodejs、Nuxtjs、MongoDB构建内容管理系统

相关文章
[翻译]基于Webpack4使用懒加载分离打包React代码
原文地址:https://engineering.innovid.com/code-splitting-using-lazy-loading-with-react-redux-typescript-and-webpack-4-3ec601...
2018-03-11
JS基于cookie实现来宾统计记录访客信息的方法
<p>本文实例讲述了JS基于cookie实现来宾统计记录访客信息的方法。分享给大家供大家参考。具体如下:</p><p>这里使用JavaScript记录访客的来宾信息,记录是第几次来访,显示的信息有:您的名...
2017-03-29
基于javascript实现单选及多选的向右和向左移动实例
本文实例讲述了基于javascript实现单选及多选的向右和向左移动实例。分享给大家供大家参考。具体实现方法如下: 方法 一: <body> <h1>实现单选及多选的向右和向左移动</h1> &...
2017-03-27
nodejs导出excel的方法
本文实例讲述了nodejs导出excel的方法。分享给大家供大家参考。具体如下: nodejs 对查询数据生成excel并下载,采用方式先生成本excel文件,然后再下载;通过比较采用excel-export插件代码如下: excel.js...
2017-03-27
基于Marquee.js插件实现的跑马灯效果示例
本文实例讲述了基于Marquee.js插件实现的跑马灯效果。分享给大家供大家参考,具体如下: 1、Marquee.js文件 /****************************************************...
2017-02-17
JavaScript实现基于Cookie的存储类实例
本文实例讲述了JavaScript实现基于Cookie的存储类。分享给大家供大家参考。具体分析如下: 通过这个JS类,你可以象使用session一样使用cookie,非常简单了! /* * CookieStorage.js *...
2017-03-22
javascript获取本机操作系统类型的方法
废话不多说了,下面通过一段代码示例介绍一下,希望能够给需要的朋友带来或多或少的帮助。 示例代码: function GetOSInfo() { var _pf=navigator.platform; var appVer=navig...
2017-03-29
javascript基于DOM实现省市级联下拉框的方法
本文实例讲述了javascript基于DOM实现省市级联下拉框的方法。分享给大家供大家参考。具体实现方法如下: <html xmlns="http://www.w3.org/1999/...
2017-03-23
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
一,利用Node搭建静态服务器 这个是这个项目的底层支撑部分。用来支持静态资源文件像html, css, gif, jpg, png, javascript, json, plain text等等静态资源的访问。这里面是有一个mime类型的...
2017-03-29
基于js实现投票的实例代码
本文实例讲述了JavaScript实现三种投票方式的实现方法,分享给大家供大家参考。具体如下: 一、js柱状投票图 效果图: 实现代码: <!DOCTYPE html PUBLIC "-//W3C&#x...
2017-03-29
回到顶部