基于Vue+express的博客項目

一個前端基于Vue2.0全家桶,后端基于Express+Mongodb的前后端分離博客。前端界面使用了flexbox+rem布局,后端界面使用了element ui。本項目可以作為一個前端進階項目,從前端flexbox布局到前端框架的使用,再到后端以及數(shù)據(jù)庫,是一個打通前后端流程的一個項目。由于最近剛換了域名,正在備案中,所以目前沒有線上演示,不過可以看一下下面的動態(tài)圖特效。

特點

  • 支持 MarkDown 編輯
  • 支持代碼高亮
  • 支持移動端瀏覽

在線地址

功能展示展示

PC前臺博客演示

image

移動端前臺演示

image

后臺管理演示

image

若圖片無法顯示則點擊這里:pc前端功能展示 移動前端功能展示pc后端功能展示

前端工具

  • Vue2.0
  • Vue-Router
  • Vuex
  • axios
  • element ui

前端布局采用flexbox+rem布局,關(guān)于flexbox請閱讀一個完整的Flexbox指南以及這篇最新的理解Flexbox:你需要知道的一切

本項目還采用了手機端適配,關(guān)于移動端的學習資料請按照我下面羅列的資料按順序仔細閱讀。

  1. 移動端調(diào)試
  2. 介紹vieport
  3. 使用Flexible實現(xiàn)手淘H5頁面的終端適配

后端工具

  • express
  • mongodb(mongolass)

后端的管理界面我直接使用了element ui這個基于vue的組件庫,很強大.

目錄結(jié)構(gòu)

│  .babelrc
│  .editorconfig
│  .eslintignore
│  .eslintrc.js
│  .gitignore
│  index.html
│  package.json
│  README.md
│
├─build
│      build.js
│      check-versions.js
│      dev-client.js
│      dev-server.js
│      utils.js
│      webpack.base.conf.js
│      webpack.dev.conf.js
│      webpack.prod.conf.js
│
├─config
│      dev.env.js
│      index.js
│      prod.env.js
│      test.env.js
│
├─server                        后端文件夾
│  │  .env
│  │  app.js    后端入口
│  │
│  ├─api
│  │      index.js  后端api
│  │
│  ├─lib
│  │      mongo.js 數(shù)據(jù)庫
│  │
│  ├─middleware
│  │      checkToken.js
│  │      createToken.js
│  │
│  └─routes                 后端路由
│          admin.js
│          article.js
│          classify.js
│          index.js
│          login.js
│          reg.js
│
├─src       前端文件夾
│  │  App.vue
│  │  main.js   前端入口
│  │
│  ├─api    前端api
│  │      index.js
│  │
│  ├─assets
│  │  ├─css
│  │  │      commen.css
│  │  │      default.css
│  │  │      default0.css
│  │  │      highlight.css
│  │  │
│  │  ├─img
│  │  │      bg.jpg
│  │  │      bgm.jpg
│  │  │
│  │  └─js
│  │          commen.js
│  │          highlight.pack.js
│  │          hljs.js
│  │
│  ├─components
│  │  │  NotFound.vue
│  │  │
│  │  ├─backEnd             后端界面
│  │  │      Admin.vue
│  │  │      ArticleCreate.vue
│  │  │      ArticleEdit.vue
│  │  │      ArticleList.vue
│  │  │      ClassList.vue
│  │  │      Login.vue
│  │  │      Reg.vue
│  │  │
│  │  └─fronted             前端界面
│  │          About.vue
│  │          Article.vue
│  │          Front.vue
│  │          Home.vue
│  │          Tags.vue
│  │          vfooter.vue
│  │          vheader.vue
│  │
│  ├─routes             前端路由vue-router
│  │      index.js
│  │      routes.js
│  │
│  └─store             前端vuex
│      │  actions.js
│      │  index.js
│      │  MsgAlert.js
│      │  mutations.js
│      │  states.js
│      │  types.js

Step

環(huán)境

克隆遠程庫

git clone https://github.com/elva2596/vueBlog.git

安裝前端依賴

npm install

全局安裝supervisor

npm install -g supervisor

啟動mongodb服務器

在你安裝的數(shù)據(jù)庫文件中的bin目錄中啟動

mongod

安裝后端依賴

進入到server文件夾下,安裝后端依賴:npm install

啟動后端服務器

npm start

啟動前端項目

回到項目根目錄下運行:npm run dev

生成發(fā)布

npm run build

Notice

  • 前后端啟動時的路徑不一樣,前端在項目根目錄,后端在servser根目錄,其實可以把后端分離出來。
  • 因為是前后端分離項目,必然涉及到跨域,使用webpack的proxyTable,進入到config文件夾的index.js,將proxyTable配置成:
    proxyTable: { '/api':{ target:'http://localhost:3009/api', changeOrigin:true, pathRewrite:{ '^/api':'' } } },
  • 推薦Robomongo作為數(shù)據(jù)庫的可視化管理工具
  • 推薦Postman作為驗證restful API的工具,請參考這篇文章
  • 這里的主頁界面有個小小的bug,主頁只顯示每篇具體文章的摘要,在這里我取了一個巧,就是將從后端返回的數(shù)據(jù)經(jīng)過markdown解析以后,用了一個正則把第一個p標簽以及其中的內(nèi)容給提取出來渲染到頁面。因此后端在添加文章的時候必須在編寫每篇文章的開頭寫一段話。因為畢竟這個博客只是一個第一版,后面我會把這個問題解決掉。

Todo

  • 移動端優(yōu)化,300ms
  • 添加評論功能
  • 密碼修改功能
  • 用戶權(quán)限分類

License

MIT

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

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