【第一章】BCMS 架构选择

  一直想写一个cms的系统,主要是想建一个博客,感觉博客对于每个developer都是有非凡意义的啊,既可以记录技术文摘,又可以发发牢骚,写写随笔。

  这大概就是我的一个动机。

  作为一个前端菜鸟,积累了一定的开发经验,最起码开发一个cms系统还是问题不大的。于是撸起袖子就开始干吧。

  于是各种找合适的模板,不说好不好看,但一定要简洁,一定要有自己的风格,一定要让自己满意。

  找了n个模板之后,终于挑了一个修改,于是便有了模板。

  

  大概就是这么一个主题的博客模板,然后就是后台了。

  自从有了node.js, 写后台对于前端开发人员来说已经不再是难事,况且写过两年Java的本菜鸟有信心完成。

  然后就是cms要用的技术架构选择了。

  有一点,写Java的时候用过一个Java的freecms,去发布静态网站,我一直想搞出来一个cms有类似的但不限于那样的功能,这也是我造轮子的原因之一。

  当然造轮子是一个很漫长的过程,最开始我实在没想去搞这么复杂,先去github看了看,里面star前排的要么技术栈短缺,要么就是跟自己的需求相差较大。

其中有一个国人写的DoraCMS, 也简单去操作了一下,看了下源码,觉得还是自己搞吧,造就造吧,当练技术了。

 

  最开始想用React + redux + webpack + express + es6 这样一个架构去写,因为我们公司正好用的这套东西,可以用一些react的框架去构造页面,写了一点感觉实在有点太重量,另外一个我想更多的去用express,所以就换成了es6 + webpack + express + ejs 这样一个架构去写, 这也是我们公司正在使用的另一套架构,这样去套模板也更方便。

  

  

  找了一套使用jQuery去实现的模板,正好也可以熟悉好久不用的jQuery。

  规划的重点功能模块不会太多,主要包括:用户管理,角色和权限管理,静态化管理,栏目管理,爬虫管理。

  数据库方面的话可能会比较奇葩,因为我当前在写的是没有数据库的,用的node的file系统去写的一个基础的增删改查,当然才进行了很小一部分。其实还有一个选择

是mongodb,这个具体的数据持久化的方式可以在package的脚本中进行配置,目前没有精力和时间去搞太多,用file的主要原因是我mac 装不上mysql,我对mongdb不熟,用的实在不好,本地起的服务每次都会把上次的数据给清除。所以另辟蹊径,我觉得这也许在不同平台间会更容易切换,不用考虑数据库的问题。

  

  整体的目录结构如上图。

  这篇介绍了bcms的主要功能和开发语言,之后我会把每个模块开发的经历整理出来,和开发同步进行。

posted on 2017-04-19 00:01  N1coco  阅读(313)  评论(0)    收藏  举报