二話不說,先看源碼/演示站前端
GitHub: https://github.com/ximolang/QuillCMSvue
演示站:跨界猿git
搜索Nodejs CMS
能夠看到不少用Node寫的內容管理系統,大名鼎鼎的KeystoneJS是其中一個,可是在我想要去利用它搭建一個站點嘗試二次開發的時候卻發現並非那麼容易理解,至少在我剛接觸的時候是這樣。國內還有DoraCMS、NoderCMS之類的系統,DoraCMS我也曾有過嘗試,可是到了2.0的版本後變化比較大,要理清楚系統各部分的關係是比較困難的。github
想來想去,還不如本身寫一個簡單的、不須要過多配置、一句命令就能跑起來的CMS。後端
CMS的核心也就是後臺的內容管理,同時具備前臺展現、SEO需求等功能。考慮到選用Node作爲後端的前端工程師偏多,因此乾脆選用Nodejs+Nuxtjs+MongoDB進行構建。Nuxtjs支持服務端渲染,上手也很簡單,是基於vue的服務端渲染程序的不二選擇。後端框架選用了Express,不少人可能會說爲啥不選Koa2,當時選的時候仍是有所考慮,雖然我更喜歡Koa但仍是選擇了Express,若是如今開始再寫一個CMS(或者其餘項目),我絕對選Koa2,或者直接Egg.js。前端工程師
後臺管理框架
前臺展現網站
總體功能偏簡,並無進行過多的通用性設計,這對於使用者來講有好有壞,通用功能比較基礎,其餘的須要本身開發。ui
前臺展現風格也須要本身自定義,畢竟網站基本不會一個樣。雖然須要自定義,但我相信瞭解Nuxtjs進行二次開發是及其簡單的事情,由於每一個頁面是獨立的,每一個頁面引用的組件也對應放在目錄中。設計
寫這個CMS的過程讓我第一次在一個月的時間裏堅持Github全綠,我對先後端了解也通透了許多。CMS的部署文檔尚未,後面再加~