react-boilerplate ── 一個簡單靈活的React腳手架
我理想中的React腳手架是簡單且靈活的,
- 簡單是指能提供基本的功能,比如編譯JSX、解析ES6語法、熱更新等。
- 靈活是指能夠自由的選擇Redux還是Mobx、是否需要添加react-router等其他第三方庫,并且能很方便的自行修改webpack的構(gòu)建文件。
像vue-loader就是一個很好的例子。它具有基本的功能,但是又可以靈活的選擇性添加vue-router,vuex等,不像其他一些腳手架,你很難去原來的配置上改變成完全符合你自己需求。因此,我模仿vue-loader構(gòu)建了一個React腳手架。
開始
$ git clone https://github.com/mervynyang/react-boilerplate.git
$ cd react-boilerplate
$ npm install # Install project dependencies
$ npm start # Compile and launch
styles
- 默認(rèn)是支持sass,就目前的流行程度和語法設(shè)計上來看,sass是優(yōu)于less的。所以,建議你用sass去寫css。
- CSS Module我個人認(rèn)為是非常不錯的css模塊化解決方案,像facebook也有在用,推薦使用。
- React引入CSS Module其實是比較麻煩的,你需要這么寫:
import styles from "./style.css";
<div className={style.className}></div>
所以我用到了react-css-modules,現(xiàn)在你只需要這么寫:
import "./style.css"
<div styleName="className">
相比之下,簡單優(yōu)雅很多。
模版文件
幾乎所有的業(yè)務(wù)組件最開始都是相似的,其實就是一個簡單的React class,然后根據(jù)業(yè)務(wù)模塊的名字命名class,這個重復(fù)的過程很無聊。所以我們需要一些模版去幫我們生成初始化的結(jié)構(gòu)。
這里我用到了redux-cli,你需要先手動全局安裝npm i redux-cli -g,然后就可以在命令行這樣去使用了:
#木偶組件
redux g dumb 組件名
#業(yè)務(wù)組件
redux g smart 模塊名
它會自動創(chuàng)建預(yù)定義的模版文件,當(dāng)然,你可以在blueprints這個目錄修改模版文件。
Eslint
默認(rèn)用的是airbnb規(guī)范,你可以在.eslintrc.js這個文件中找到它,可以參考eslint規(guī)則。