商城前端構(gòu)架演變之路

點(diǎn)融商城剛建立的時(shí)候,業(yè)務(wù)相對(duì)單一,主要負(fù)責(zé)公司點(diǎn)券和體驗(yàn)金的兌換。在最初的搭建商城構(gòu)架的時(shí)候,我們使用了當(dāng)下流行的前端框架 React 作為地基,但在上層分支上處理相對(duì)混亂。

主要表現(xiàn)在HTML 的 DOM 元素被 React 的 Virtual Dom 和 ?jQuery 同時(shí)操作,導(dǎo)致維護(hù)一個(gè) state 的狀態(tài)變得不是那么的順利。

MVC 框架

為了使前端構(gòu)架能夠更靈活適用于商城的業(yè)務(wù)擴(kuò)展,我們就對(duì)前端架構(gòu)進(jìn)行重構(gòu):

地基 View層:React

js 語法:ES6

語法編譯:Babel

數(shù)據(jù)流操作:Reflux

樣式使用:Stylus

頁面跳轉(zhuǎn):React-router

打包上線:Gulp+Webpack

為了保持 state 狀態(tài)的統(tǒng)一管理,既有 React 何須 jQuery。

項(xiàng)目框架結(jié)構(gòu)如下:

1)運(yùn)行機(jī)制:

npm 通過加載 package.json 必要的 modules,解決項(xiàng)目的依賴關(guān)系。通過 npm start 運(yùn)行本地服務(wù)器,通過 webpack 加載 app 目錄下main.js,通過 react-router 路由配置解析,進(jìn)入到商城首頁。

2)編譯機(jī)制:

babel 使用 babylon 解析器對(duì)源代碼進(jìn)行解析并生成 AST(Abstract Syntax Tree 抽象語法樹),接著通過 babel-traverse 對(duì)解析出來的 AST 進(jìn)行遍歷,解析出來整個(gè)樹的 path,讀取對(duì)應(yīng)的元素,并應(yīng)用到 transformers 插件上,生成變換后的 AST,最后使用 babel-generator 將 AST 樹轉(zhuǎn)碼成最終編譯后的代碼串。

3)數(shù)據(jù)流向

當(dāng)用戶進(jìn)來網(wǎng)站的時(shí)候,React action 匹配用戶當(dāng)前的操作,通過 API 獲取后端提供的信息。Dispatcher 作為事件調(diào)度中心,Reflux 模型的中心樞紐,管理著Reflux 應(yīng)用中的所有數(shù)據(jù)流,它本質(zhì)上是 Store 的回調(diào)注冊(cè),每個(gè) Store 注冊(cè)它自己并提供一個(gè)回調(diào)函數(shù)。

當(dāng) Dispatcher 響應(yīng) Action 時(shí),通過已注冊(cè)的回調(diào)函數(shù),將 Action 提供的數(shù)據(jù)信息發(fā)送給應(yīng)用中所有的 Store,React views 把后臺(tái)的數(shù)據(jù)渲染后呈現(xiàn)給用戶,完成整個(gè)閉環(huán)的數(shù)據(jù)流。

MVC 模型進(jìn)化過程:

1)單頁面

2)業(yè)務(wù)線

3)點(diǎn)融商城 MVC模型

商城業(yè)務(wù)線

商城主業(yè)務(wù)的轉(zhuǎn)型:原來單一業(yè)務(wù)的券功能轉(zhuǎn)變?yōu)橥ㄟ^投資免費(fèi)獲取商品的模式,將券功能移動(dòng)到二級(jí)分類里。

這一模式的改版,是業(yè)務(wù)模式的探索與嘗試。MVP 商城之所以能快速革故鼎新,得益于重構(gòu)的能適應(yīng)復(fù)雜業(yè)務(wù)線的前端架構(gòu),以及團(tuán)隊(duì)間的精誠(chéng)協(xié)作與共同努力。

商城的首頁也是經(jīng)過不斷更迭的頁面 UI 優(yōu)化調(diào)整,形成了用戶舒適的視覺體驗(yàn),并且在功能上給到用戶更多的選擇,如:提供商品搜索、心愿單、愛大牌、每日上新、商品多屬性選擇等等。

結(jié)語

商城作為一個(gè)通過“商品”來連接用戶生活場(chǎng)景的模塊,通過利息前置的方式,來幫助用戶梳理理財(cái)與消費(fèi)之間的關(guān)系。既解決了用戶強(qiáng)烈的投資需求,同時(shí)也滿足了實(shí)際的消費(fèi)需求。

商城前端之路漫漫其修遠(yuǎn)兮,我們都在上下而求索的道路上。未來,我們會(huì)不斷革新,打造貼近用戶體驗(yàn)的全新商城模式。

本文作者:喬樂(點(diǎn)融黑幫),Social Team 前端攻城獅一枚,負(fù)責(zé)點(diǎn)融商城和社區(qū)前端開發(fā),喜歡游泳,騎行,旅游,以及更多大千世界未知的美好事物。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容