良好的項(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)放在該文件
圖例:

書(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ě)順序
static
constructor
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
componentDidUpdate
componentWillUnmount
事件處理
render
hooks只能在函數(shù)頂層使用,禁止寫(xiě)在判斷語(yǔ)句里