實戰react技術棧+express先後端博客項目(1)-- 總體項目結構搭建

實戰react技術棧+express先後端博客項目(1)-- 總體項目結構搭建

項目地址:https://github.com/Nealyang/R...css

本想等項目作完再連載一波系列博客,隨着開發的進行,也是的確遇到了很多坑,請教了很多人。遂想,何不一邊記錄踩坑,一邊分享收穫呢。分享固然是好的,
若是能作到集思廣益,那豈不是更美。咱們的口號是:堅定不會爛尾前端

本博客爲連載代碼博客同步更新博客,隨着項目日後開發可能會遇到前面寫的不合適的地方會再回頭修改。若有不妥~歡迎兄弟們不嗇賜教。謝謝!react

項目目錄

項目目錄大體以下:webpack

.
├── README.md                   //項目說明文件
├── app                         //前端源碼文件夾
│   ├── components              //前端組件文件夾
│   ├── configureStore.js       //配置store文件
│   ├── containers              //前端容器組件文件夾
│   ├── fetch                   //封裝get/post請求文件夾
│   ├── index.js                //APP輸出文件
│   ├── lib                     //存放第三方引入文件文件夾
│   ├── reducers                //reducer文件夾,包含actions、actionTypes
│   └── sagas                   //saga文件夾,異步action處理
├── config                      
│   └── config.js               //總應用配置文件
├── db                          //存放數據庫的文件夾
├── modules                     //存放mongoose model文件夾
│   └── user.js                 //存放user model文件
├── package.json
├── postcss.config.js           //postcss配置文件
├── record                      //存放一些記錄文件的文件夾
├── schemas                     //mongoose schema文件夾
│   └── users.js
├── server                      // server端源碼文件夾
│   ├── api                     //server端 api接口文件夾
│   ├── index.js                //server啓動文件
│   ├── server.js               //server文件
│   └── util.js                 //server端工具類文件
├── static                      //靜態資源託管文件夾
│   └── favicon.ico
├── webpack.dev.js              //開發環境下webpack配置文件
└── webpack.prod.js             //生產環境下webpack配置文件

簡單說下app裏面react的項目結構。對於component,container這裏沒必要多說了。saga用於對全部異步action的處理。
reducers裏面存放了container對應全部的reducer、action、actionTypes。git

好比:github

const initialState = {};

export const actionTypes = {
    HOME_LOAD:'HOME_LOAD',
};


export function reducer(state=initialState,action) {
    switch (action.type){
        default:
            return state;
    }
}

export const action = {
  getArticleList:function () {
      return actionTypes.HOME_LOAD
  }
};

對於這種寫法,能夠參照我上一篇大衆點評demo關於react項目結構的說明.web

state設計

曾經看過一篇文章,如何合理的設計state,看完之後的確受益不淺。可是。。。。我擦,有必要這樣子嘛~數據庫

因此,腦地瓜笨笨的我,這個demo,我仍是打算粗略的設計下就好。express

statejson

已經完成部分 state 結構以下

clipboard.png

這裏兄弟們不要急,後面博客會寫到如何構建的。

從這個state狀態樹中,咱們也可以知道下一篇,咱們要說的,前端react技術棧的等等配置。

項目實現步驟系列博客

  • 實戰react技術棧+express先後端博客項目(0)-- 預熱一波
  • 實戰react技術棧+express先後端博客項目(1)-- 總體項目結構搭建、state狀態樹設計
  • 實戰react技術棧+express先後端博客項目(2)-- 前端react-xxx、路由配置
  • 實戰react技術棧+express先後端博客項目(3)-- 後端路由、代理以及靜態資源託管等其餘配置說明
  • 實戰react技術棧+express先後端博客項目(4)-- 博客首頁代碼編寫以及redux-saga組織
  • 實戰react技術棧+express先後端博客項目(5)-- 先後端實現登陸功能
  • 實戰react技術棧+express先後端博客項目(6)-- 使用session實現免登錄+管理後臺權限驗證
  • 實戰react技術棧+express先後端博客項目(7)-- 前端管理界面用戶查看功能+後端對應接口開發
  • 實戰react技術棧+express先後端博客項目(8)-- 前端管理界面標籤管理功能+後端對應接口開發
  • 實戰react技術棧+express先後端博客項目(9)-- 前端管理界面標籤管理功能+後端對應接口開發
  • 實戰react技術棧+express先後端博客項目(10)-- 前端管理界面發表文章功能
  • 實戰react技術棧+express先後端博客項目(11)-- 後端接口對應文章部分的增刪改查
  • 實戰react技術棧+express先後端博客項目(12)-- 前端對於發文部分的完善(增刪改查、分頁等)
  • 實戰react技術棧+express先後端博客項目(13)-- 前端對於發文部分的完善(增刪改查等)
  • 實戰react技術棧+express先後端博客項目(14)-- 內容詳情頁以及閱讀數的展現
  • 實戰react技術棧+express先後端博客項目(15)-- 博客添加評論功能以及對應後端實現
  • 實戰react技術棧+express先後端博客項目(16)-- pm2 的使用說明
  • 實戰react技術棧+express先後端博客項目(17)-- 收工

交流

假若有哪裏說的不是很明白,或者有什麼須要與我交流,歡迎各位提issue。或者加羣聯繫我~

掃碼關注個人我的微信公衆號,直接回復,必有迴應。分享更多原創文章。點擊交流學習加我微信、qq羣。一塊兒學習,一塊兒進步

clipboard.png


歡迎兄弟們加入:

Node.js技術交流羣:209530601

React技術棧:398240621

前端技術雜談:604953717 (新建)


more

clipboard.png

相關文章
相關標籤/搜索