項(xiàng)目結(jié)構(gòu)主要參考了redux的官方實(shí)例todomvc,在todomvc的基礎(chǔ)上奠旺,將開(kāi)發(fā)目錄放到了app文件夾中拣展,簡(jiǎn)化了目錄結(jié)構(gòu);其次峰尝,用fetch寫了一個(gè)api層虎谢,集中出來(lái)接口請(qǐng)求;樣式是用less處理虏劲,配置了webpack loader解析less缩宜;webpack中配置了開(kāi)發(fā)測(cè)試發(fā)布三個(gè)環(huán)境。
項(xiàng)目結(jié)構(gòu)說(shuō)明
- project
- app
------------------------------------控制器,操作actions
- api
-----------------------抽象出來(lái)的fetch方法
- components
----------------------組件
- constants
----------------------------常量
- containers
--------------容器,調(diào)用組件組織頁(yè)面
- image
-------------------------------圖片
- less
---------------------------------less
- lib
-----------------------------庫(kù)
- reducers
-----------相當(dāng)于state的狀態(tài)機(jī),每個(gè)類代表一個(gè)state
- store
-------------------------控制中心,一般不做改變
- index.js
---------------------------項(xiàng)目入口
- dev
-------------------------------測(cè)試和開(kāi)發(fā)環(huán)境根目錄
- dist
---------------------------------發(fā)布環(huán)境根目錄
- node_modules
-------------------依賴的庫(kù)
- webpack.config
------------------打包環(huán)境
- webpack.product.config
-------------生產(chǎn)環(huán)境
- app
項(xiàng)目展望
由于目前項(xiàng)目還比較簡(jiǎn)單廓推,現(xiàn)有架構(gòu)還是可以滿足開(kāi)發(fā)的刷袍,但是如果項(xiàng)目進(jìn)一步復(fù)雜,還有那些地方可以改進(jìn)呢樊展?
-
組件進(jìn)一步細(xì)分呻纹,同理less
現(xiàn)在組件全部放在了components
當(dāng)中,當(dāng)組件過(guò)多的時(shí)候會(huì)很不好管理滚局【优可能在里面再按container
細(xì)分組件組。
-
reducers是否可以進(jìn)一步抽象藤肢?
現(xiàn)在設(shè)計(jì)的reducers
相當(dāng)于一個(gè)扁平化的state
管理器太闺,當(dāng)時(shí)當(dāng)項(xiàng)目復(fù)雜時(shí)(例如:我要?jiǎng)h除一篇文章的同時(shí),要?jiǎng)h除文章和分類的綁定)嘁圈,如何復(fù)合的處理state
省骂,當(dāng)前的reducers
只滿足一個(gè)reducers
對(duì)應(yīng)一個(gè)state
,是否可以抽象出一個(gè)common-reducer
作為基礎(chǔ)reducers
最住。
歡迎交流