測試平臺開發(fā)vue組件化重構(gòu)前端代碼
基于 springboot+vue 的測試平臺開發(fā)
繼續(xù)更新(人在魔都 T_T)。
這期其實并不是一個詳細(xì)的開發(fā)過程記錄,主要還是針對本次前端重構(gòu)來聊聊幾個關(guān)注點。
目前重構(gòu)的總進(jìn)度在80%,重構(gòu)完的頁面沒什么變化,再回顧一下。
一、為什么重構(gòu)
目前項目的功能開發(fā)重點還是在接口管理這一大塊,內(nèi)容多,任務(wù)重,可當(dāng)我著手準(zhǔn)備繼續(xù)開發(fā)新功能的時候發(fā)現(xiàn)了個重大的問題。
我之前接口相關(guān)的功能都寫在一個vue文件里,看了下代碼行數(shù)已然近800,現(xiàn)在查看之前代碼和改動就已經(jīng)非常的不方便的,這后面功能還多了,繼續(xù)寫下去估計自己都要扔了。
所以重構(gòu)前端代碼優(yōu)先提上了日程。
怎么重構(gòu),那當(dāng)然還是利用vue的組件化特性來進(jìn)行拆分。已當(dāng)前的完成度來看,從當(dāng)初的 1 個文件(紅色框的),拆分了現(xiàn)在的 10 文件(其他的)。
二、如何拆分
這部分主要有 2 個部分。
1. 補(bǔ)充對應(yīng)知識
這不是廢話么?因為之前對相關(guān)知識儲備比較少,所以一開始也不知道如何下手,于是找起來。網(wǎng)上有很多博客、視頻等免費學(xué)習(xí)資源,大家很容易就可以搜到。
我起初也是想針對性的補(bǔ)充下vue組件相關(guān)性高的知識點,后來看著看著,不知不覺幾乎把 vue 系統(tǒng)化的肝了一遍,雖然花費了不少時間,但是收獲也很多,之前許多一知半解的問題都知道為啥了。
這里羅列一些重要的知識點,僅供參考:
- vue 生命周期
- vue 組件基礎(chǔ)知識
- 組件間通信技術(shù)
- vuex
其中比較花費精力的就是后面2個了。因為組件拆分勢必就會有多個組件協(xié)作,那么父子、兄弟、任意組件之間的數(shù)據(jù)傳遞和操作就需要這些技術(shù)來解決。
2. 合理拆分
合理拆分其實并沒有一個嚴(yán)格意義的要求,對我來說重點是2個:代碼結(jié)構(gòu)更清晰、復(fù)用代碼。
舉例說明一下,看圖。
圖中是接口定義的編輯頁面,本來都是在一個文件里的一大坨,經(jīng)過拆分之后:
- 紅色框作為一個最外層組件,里面包含了其他組件。
- 3個綠色框又對應(yīng)著3個子組件。
- 而在請求參數(shù)部分,我又進(jìn)一步的拆分了子組件(黃色框)。
后續(xù)如果有新增或者其他改動,代碼結(jié)構(gòu)一目了然,很容易進(jìn)行維護(hù)。
而在實戰(zhàn)中遵循了這么一個組件化編碼的流程:
- 先拆分出靜態(tài)組件,按不同功能拆分,命名合理,如果你的拆分覺得不好取名字,大概率拆的不合理。
- 再實現(xiàn)動態(tài)組件,看下這個組件是一個在用還是會重復(fù)使用,決定好數(shù)據(jù)要存放的位置。
- 最后實現(xiàn)交互,可以從綁定事件開始。
一步步來,中間也踩了不少坑,畢竟將知識的簡單demo應(yīng)用到項目實戰(zhàn)中,還是要花點精力去琢磨的。
三、關(guān)于項目
這個項目后續(xù)還是會繼續(xù)更新下去,只是時間并不固定。作為練手項目,前后端的開發(fā)都可以得到一定的鍛煉。
不過近期因為工作上用到 react,所以現(xiàn)在優(yōu)先在肝這方面的知識,有興趣的小伙伴也可以去了解下 react、antd pro 等。
前端:
https://github.com/wessonlan/bloomtest-web
后端
https://github.com/wessonlan/bloomtest-backend
以上就是測試平臺開發(fā)vue組件化重構(gòu)前端代碼的詳細(xì)內(nèi)容,更多關(guān)于vue組件化重構(gòu)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解Vue3.0中ElementPlus<input輸入框自動獲取焦點>
這篇文章主要給大家介紹了關(guān)于Vue3.0中ElementPlus<input輸入框自動獲取焦點>的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue3.0具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-04-04基于vue-cli3+typescript的tsx開發(fā)模板搭建過程分享
這篇文章主要介紹了搭建基于vue-cli3+typescript的tsx開發(fā)模板,本文通過實例代碼截圖的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02vue3.0報錯Cannot?find?module‘worker_threads‘的解決辦法
這篇文章介紹了vue3.0報錯Cannot?find?module‘worker_threads‘的解決辦法。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11解決echarts中橫坐標(biāo)值顯示不全(自動隱藏)問題
這篇文章主要介紹了解決echarts中橫坐標(biāo)值顯示不全(自動隱藏)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07vue iview多張圖片大圖預(yù)覽、縮放翻轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了vue iview多張圖片大圖預(yù)覽、縮放翻轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07