前端react項(xiàng)目組織規(guī)范

良好的項(xiàng)目組織能力,能更方便團(tuán)隊(duì)之間的開(kāi)發(fā)合作,規(guī)避一些開(kāi)發(fā)中可能遇到的問(wèn)題

這是我從17年接觸react以來(lái),就遵循的一套規(guī)范,到目前有些許改動(dòng),并在百度工作的時(shí)候,用這套制定了部門(mén)的前端開(kāi)發(fā)規(guī)范

目錄結(jié)構(gòu)

所有項(xiàng)目的源碼都放在根目錄src下

  • asset // 存放靜態(tài)文件,以對(duì)應(yīng)容器組件名稱命名

  • action // 存放頁(yè)面請(qǐng)求,以對(duì)應(yīng)容器組件名稱+Action命名,例如:homeAction

  • components // 存放公共組件,遵循Pascal命名法,例如Banner、ProductBanner

  • containers// 存放容器組件,遵循小駝峰命名法,例如:home、productPage

  • home // 容器目錄,和路由保持一直

    • Banner // 頁(yè)面index私有組件,遵循Pascal命名法

    • index.js // 頁(yè)面組件,默認(rèn)index.js命名

    • index.less // 頁(yè)面樣式文件,默認(rèn)index.less命名

  • utils // 公共方法庫(kù)

  • reducers // 存放store,以對(duì)應(yīng)容器組件名稱命名

  • app.js // 入口文件,路由控制默認(rèn)放在該文件

圖例:


image.png

書(shū)寫(xiě)規(guī)范

  • 項(xiàng)目必須啟用eslint

  • 普通JavaScript文件以小寫(xiě)字母命名,多個(gè)單詞以下劃線連接,例如utils、utils_wx.js

  • 數(shù)字型變量,必須帶上注釋。

  • 統(tǒng)一使用四個(gè)空格進(jìn)行縮進(jìn),禁止空格與tab混用

  • jsx屬性均使用單引號(hào)

  • 類組件的屬性、生命周期按照以下書(shū)寫(xiě)順序

    1. static

    2. constructor

    3. componentWillMount

    4. componentDidMount

    5. componentWillReceiveProps

    6. shouldComponentUpdate

    7. componentWillUpdate

    8. componentDidUpdate

    9. componentWillUnmount

    10. 事件處理

    11. render

  • hooks只能在函數(shù)頂層使用,禁止寫(xiě)在判斷語(yǔ)句里

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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