利用Vue全家桶+Express+mongodb搭建屬於自己的簡歷博客網站

symbol_me

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

特色

  1. 界面較爲美觀,並可自定義自己的簡歷信息,包括個人信息、就學經歷、項目經歷、個人技能信息
  2. 項目信息存儲在mongodb數據庫,大文件用gltf存儲,後臺服務程序由express搭建。項目地址:https://github.com/Longbao521/symbolMeServer
  3. 項目包含多個動畫,有animate.css庫,也有自定義的動畫,供大家參考
  4. 項目支持markdown語言,支持博客的編輯預覽功能,支持上傳功能,上傳後的博客保存在數據庫中,並實時更新在自己的博客首頁上,可供大家記錄自己所學
  5. 支持Cesium,可以在線編輯測試代碼並運行
  6. 項目用到了vue項目常用的一些工具,如vue-cli腳手架搭建項目,element-ui構建基礎組件樣式等
  7. 項目會一直維護完善,並會推出小程序版(mpVue,項目地址:https://github.com/Longbao521/mpvue)以及桌面版(Electron),如果可以會繼續研究Flutter,開發跨平臺應用程序,敬請期待
  8. 項目代碼嚴格遵守ESLint規範
  9. 項目佈局大部分採用了flex佈局

技術棧

Vue、Vue-CLI、Axios、LESS、Element-UI、Animate、ESLint、Cesium

遇到的問題

  • v-html中標籤樣式選擇器的問題
    如果在template中寫的標籤可以在style scoped中定義樣式,但是在v-html中的標籤,則無法在該區域定義相應的樣式,有以下幾種解決方案:
    • 去掉style的scoped,在全局樣式表定義標籤的樣式,不推薦使用,因爲會影響不同組件內元素樣式
    • 使用/deep/(LESS 、SCSS)或>>>(CSS)深層選擇器
    • 在updated生命週期中,js動態配置樣式
  • v-for循環中如何爲每一個按鈕綁定不同的函數,爲何不能再data中加一個函數
    • 在methods中添加一個類路由函數,v-for中每一個元素包含一個method字段,指定要觸發的函數,此時則可指定@click爲該路由函數,並把method字段傳入,由路由函數來觸發相應的函數,實現View層與Model層的綁定
  • vue中針對子組件進行設置樣式
    這個與第一個問題很相似,猜測vue中對v-html中內容的處理方式也是對它動態創建一個子組件,原理很簡單,父組件無法對子組件中元素修改樣式,這個在我們使用Element-UI這種第三方庫時會經常碰到,解決方法如下:
    • 去掉style的scoped,在全局樣式表定義標籤的樣式,不推薦使用,因爲會影響不同組件內元素樣式
    • 使用/deep/(LESS 、SCSS)或>>>(CSS)深層選擇器

項目倉庫地址

希望大家多多收藏:https://github.com/Longbao521/symbolMe

項目效果展示:

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

下一步工作

  1. 完善自定義功能
  2. 增加相應功能模塊
  3. 完善token驗證
  4. 推出小程序版(mpvue),桌面版(ELectron)以及跨平臺(Flutter)

更新日誌

  • 1.0.1 利用自定義指令,實現提交按鈕的防抖
  • 1.0.2 實現標籤的編輯更新功能
  • 1.1.0 修改webpack,引入Cesium,開發Cesium測試平臺模塊
  • 1.1.1 支持在線編輯代碼並執行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章