Cesar競賽平臺專案中期總結

AlexsaseXie發表於2017-11-25

Cesar競賽平臺專案中期總結

軟體51 謝運帷 2015013185

我們小組的選題是大學生競賽平臺專案,經過我們需求分析,原型設計等等步驟,我們終於要開始著手實現這一個龐大的競賽平臺專案。我們使用Django+mysql處理後端邏輯,加上Vue實現一個相應式的前端設計。參考我們微信專案的框架,我們設計實現了一套前後端介面,並約定寫成介面文件,讓我們整體專案可以前後端分離的進行開發。這篇總結將一一點評我們前端部分從開始到現在遇到的點點

Vue多頁面應用的配置

我負責的任務是前端的開發。首先我們面臨的第一個問題就是:Vue-cli生成的是一個單頁應用的框架,而我們的專案不太好做成一個單頁的專案(載入時間太長,跳轉過快等等)。所以我們著手將這個框架改造成可以生成多頁應用。網上有許多的多頁面框架,經過了各種踩坑階段,排除了不少網上的錯誤實現,我們終於找到了一個合適的Vue專案目錄結構和Webpack打包的配置方法。

ESLint:從棄用到重拾

一開始,我十分討厭Vue框架自帶的ESLint程式碼風格檢查,因為它和我一貫寫的JS的風格不太相同……後來聽了老師對於我們整個專案的要求,著實感受到程式碼風格對於我們的專案實現也有十分重要的意義。這樣我們去閱讀他人的程式碼時,會變得十分方便,整個專案除錯的時候,也會變得非常方便。

Vue單檔案元件的學習

一旦開始真正編寫Vue框架下的專案,單檔案元件這一新的模式必然是躲不開的。父子元件間的通訊,在單檔案元件的實現中至關重要,元件該如何在一個網頁上應用,我們都必須從頭開始學習。這之中我們閱讀了Vue的官方文件和很多他人的例項程式碼,終於明白瞭如何應用元件,如何使用元件。

ElementUI元件庫

我們的Vue專案不可能從頭開始寫我們的一個個元件,於是我們選用了目前應用最多的ElementUI元件庫來幫助我們美化我們的頁面。在熟悉使用Element元件的同時,我們也漸漸熟悉了Vue的語法和使用形式。目前,我們已經基本擺脫了四處亂撞的嘗試模式,已經可以在自己的理解下寫一個個前端頁面了。

GET/POST時Django的CSRF檢查

這個是困擾我們很長一段時間的一個問題。當我們棄用Django的template+views來繪製和重定向頁面時,我們必然需要採用GET和POST請求來完成前後端的資料通訊。但是Django有一個防範跨域訪問的方式——CSRFToken檢查,這樣我們普通的POST一個表單給Django,會被無情地拒絕。。看網上很多的說法說只要在表單中加上CSRFToken這一項就可以解決這個問題,但各種嘗試還是會出錯。所以我們就放棄了去解決這個問題,直接關掉了Django的CSRF檢查。

到這裡,前端從開始到中期遇到的所有問題大概就說完了。下面談談我對於我們中期的實現情況的一些感受吧:

  1. 我們抱著學習的心態來接觸Vue框架和前端工程化這些東西,說實話有很大的學習成本,相比熟悉的引入一個JQuery.js上手起來慢了許多
  2. 大學生競賽平臺的工作量還是很大的……要考慮的東西太多了,能付出的時間又有限,感覺可能最終完成的不太好
  3. 後端的功能介面還是要先想好,實現好……感覺之前沒有想太好的地方給前後端都造成了麻煩
  4. 進度還是有一些慢……不過絕大部分原因是之前各種其他的作業太多了。。。後面估計其他的事情也不會少,看來需要提前安排好進度了

最後我們對於前端的要求可能不能太高,不過我們還是想要盡力去完成,給我們的使用者一個簡潔明瞭的互動介面。如果談一點希望的話,希望我們人能更多點吧。。

相關文章