vue+koa2+mongodb搭建個人博客

博客2.0更新啦!

博客地址:mangoya.cn

整體樣式基本沒有變化芳誓,主要變化是前后端重構(gòu)湖雹,之前的1.0版本后端為php,并非博主所開發(fā)示惊,這次重構(gòu)調(diào)整了數(shù)據(jù)結(jié)構(gòu)和所熟悉的語言,采用koa2+mongodb愉镰。

廢話不多說米罚,下面介紹博客的搭建教程和思路。

技術(shù)棧:

  • 博客主頁:vue2
  • 管理后臺:vue3
  • 后端:koa2+mongodb

博客主要功能:

  • 文章:列表丈探、分類录择、詳情、點贊碗降、收藏隘竭、評論
  • 用戶中心:登錄/注冊、收藏列表遗锣、點贊列表货裹、設(shè)置友鏈
  • 其他:靜態(tài)信息展示嗤形、留言板精偿、點贊、最受歡迎文章排行榜、友鏈

前端模塊拆分:

博客主頁主要為展示信息和用戶留言等信息模塊笔咽,其中評論和留言板可以復(fù)用一個組件搔预,首頁列表和點贊收藏列表也可以復(fù)用一個的組件,頁面整體為頭部叶组、左側(cè) 和右側(cè)拯田,其中只有左側(cè)內(nèi)容為頁面切換內(nèi)容,頭部和右側(cè)則固定不變甩十。

管理后臺包含文章船庇、分類、標(biāo)簽侣监、用戶鸭轮、留言等管理功能。

后端數(shù)據(jù)文檔劃分:

  • 文章
  • 文章分類
  • 文章標(biāo)簽
  • 留言
  • 點贊
  • 收藏
  • 瀏覽
  • 網(wǎng)站點贊
  • 用戶
  • 資源

主要功能點介紹:

用戶登錄注冊:
使用github oauth 實現(xiàn)第三方認證登錄橄霉,可能會遇到接口請求慢的情況窃爷,可以通過翻墻軟件設(shè)置代理訪問。

瀏覽量:
由時間戳+ua+隨機數(shù) 加密生成log_id設(shè)置2個小時有效期的cookie姓蜂,訪問頁面詳情時,通過log_id和文章id去重存儲瀏覽表钱慢。

留言和評論:
留言關(guān)于我等設(shè)置為固定的留言文章id,和文章一樣存儲用戶信息滩字,并添加回復(fù)的父級id存儲,查詢時遞歸獲取并返回數(shù)據(jù)麦箍。

收藏和點贊:
分別存儲收藏表和點贊表漓藕,包含用戶id/文章id挟裂。

資源:
使用koa-body 實現(xiàn)文件上傳功能享钞,將資源保存在某個目錄,并設(shè)置對應(yīng)的url诀蓉,存資源列表栗竖。

源碼:

博客前端:https://github.com/Aimee1608/myblog2.0
管理后臺:https://github.com/Aimee1608/myblog2.0-admin
服務(wù)端:https://github.com/Aimee1608/myblog2.0-server

版本要求:

  • node>=12
  • koa2
  • mongodb4
  • vue2.0/3.0

安裝mongodb后,啟動服務(wù)渠啤,即可運行狐肢。

歡迎點贊和評論~

博客1.0

為何選擇vue.js搭建博客

為什么會選擇使用vue.js框架搭建博客呢?原因有多個沥曹。作為前后端分離的多數(shù)據(jù)綁定項目份名,首選的就是mvc 以及mvvm等框架碟联,也就是主流的react 和vue;在使用vue.js框架快速完成美食網(wǎng)站后僵腺,更加離不開這個框架了鲤孵,簡單方便,易于管理和后期的維護辰如。

個人博客框架

image.png

如圖所示普监,頁面整體可分為幾大主模塊,有首頁琉兜、分類凯正、實驗室、贊賞豌蟋、伙伴漆际、留言板、關(guān)于夺饲、登錄注冊奸汇、用戶個人中心,這些主模塊通過路由跳轉(zhuǎn)切換往声;然后還有幾個公共模塊擂找,如頭部和尾部,以及其他的一些公用模塊浩销,這些子模塊嵌套在主模塊中贯涎,用于公用樣式和公用功能的實現(xiàn)。

image.png

image.png

項目基于node.js npm 安裝vue-cli 腳手架后 的目錄結(jié)構(gòu)慢洋,如下圖塘雳,根據(jù)項目的需求選擇性的安裝依賴和插件

image.png

搭建博客所安裝的插件和依賴,如下圖普筹,我使用了 element-ui組件來開發(fā)樣式败明,還有vue-resource和vue-router 以及css-loader等樣式加載依賴,安裝成功后太防,在webpack.config.js上寫上相應(yīng)的配置


image.png

得在上圖中的routes完成主路由模塊的配置,并且export出來讳嘱,這里需要注意的是酿愧,可以通過component: resolve 來設(shè)置懶加載,對于帶寬為1M的服務(wù)器來說钝鸽,這點非常重要,不然打開頁面需要好幾分鐘寞埠,還需要在webpack.config.js中注釋掉 devtool: '#eval-source-map'仁连,這個是項目webpack打包的時候設(shè)置的參數(shù)阱穗,使用webpack -p 這個命令打包揪阶,即為壓縮打包,打包的文件更小炊苫,除去不需要的注釋

接著是入口文件文件的配置冰沙,根據(jù)自己的需求,引入對應(yīng)的模塊和路由等文件


image.png

運行項目

使用命令窗口唠梨,cd到當(dāng)前目錄当叭,使用npm run dev 盖灸,就可以打開運行項目,編輯項目保存的同時赁炎,頁面會自動更新甘邀,即為實時監(jiān)控。

模塊化開發(fā)

之所以使用vue.js來開發(fā)博客項目坞琴,其中看中的一點就是模塊化開發(fā),就以打開頁面的首頁為例剧辐,如上面的結(jié)構(gòu)介紹圖,我分別使用了頭部荧关、尾部忍啤、右側(cè)、文章列表這四個子模塊組成同波,就如下圖所示


image.png

子模塊的結(jié)構(gòu)和主模塊一樣未檩,如果子模塊中還需嵌套子模塊,同上面一樣


image.png

按照上面的步驟根據(jù)自己的需求添加自己的模塊孙蒙,整個博客網(wǎng)站就搭建完成啦马篮,是不是很簡單呢怜奖!如果需要了解vue.js具體的api 和element-ui組件的用法,可以訪問官方網(wǎng)站迁央,都有詳細的說明哦滥崩!

需要看詳細文檔的 https://github.com/Aimee1608

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钙皮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子导匣,更是在濱河造成了極大的恐慌茸时,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缓待,死亡現(xiàn)場離奇詭異旋炒,居然都是意外死亡,警方通過查閱死者的電腦和手機鼎兽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門汇四,熙熙樓的掌柜王于貴愁眉苦臉地迎上來通孽,“玉大人背苦,你說我怎么就攤上這事⌒屑粒” “怎么了厚宰?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵铲觉,是天一觀的道長吓坚。 經(jīng)常有香客問我,道長盐杂,這世上最難降的妖魔是什么哆窿? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任挚躯,我火速辦了婚禮,結(jié)果婚禮上食侮,老公的妹妹穿的比我還像新娘。我一直安慰自己锯七,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布域蜗。 她就那樣靜靜地躺著噪猾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪丝蹭。 梳的紋絲不亂的頭發(fā)上坪蚁,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天敏晤,我揣著相機與錄音嘴脾,去河邊找鬼。 笑死译打,一個胖子當(dāng)著我的面吹牛扶平,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播哥谷,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼们妥,長吁一口氣:“原來是場噩夢啊……” “哼勉吻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惑惶,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤带污,失蹤者是張志新(化名)和其女友劉穎鱼冀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體充易,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡盹靴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年鹉究,在試婚紗的時候發(fā)現(xiàn)自己被綠了踪宠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妈嘹。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡润脸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出毙驯,到底是詐尸還是另有隱情爆价,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布骤宣,位于F島的核電站憔披,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏望门。R本人自食惡果不足惜蔗候,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一锈遥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧所灸,春花似錦爬立、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儒士。三九已至,卻和暖如春檩坚,著一層夾襖步出監(jiān)牢的瞬間着撩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工匾委, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拖叙,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓赂乐,卻偏偏與公主長得像薯鳍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子挨措,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容