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
特色
- 界面較爲美觀,並可自定義自己的簡歷信息,包括個人信息、就學經歷、項目經歷、個人技能信息
- 項目信息存儲在mongodb數據庫,大文件用gltf存儲,後臺服務程序由express搭建。項目地址:https://github.com/Longbao521/symbolMeServer
- 項目包含多個動畫,有animate.css庫,也有自定義的動畫,供大家參考
- 項目支持markdown語言,支持博客的編輯預覽功能,支持上傳功能,上傳後的博客保存在數據庫中,並實時更新在自己的博客首頁上,可供大家記錄自己所學
- 支持Cesium,可以在線編輯測試代碼並運行
- 項目用到了vue項目常用的一些工具,如vue-cli腳手架搭建項目,element-ui構建基礎組件樣式等
- 項目會一直維護完善,並會推出小程序版(mpVue,項目地址:https://github.com/Longbao521/mpvue)以及桌面版(Electron),如果可以會繼續研究Flutter,開發跨平臺應用程序,敬請期待
- 項目代碼嚴格遵守ESLint規範
- 項目佈局大部分採用了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
項目效果展示:
下一步工作
- 完善自定義功能
- 增加相應功能模塊
- 完善token驗證
- 推出小程序版(mpvue),桌面版(ELectron)以及跨平臺(Flutter)
更新日誌
- 1.0.1 利用自定義指令,實現提交按鈕的防抖
- 1.0.2 實現標籤的編輯更新功能
- 1.1.0 修改webpack,引入Cesium,開發Cesium測試平臺模塊
- 1.1.1 支持在線編輯代碼並執行