爲了提高開發效率,建立一套 UI 組件庫是一種較爲有效的方式之一:能夠減小重複工做、提升可複用,因此如今愈來愈多團隊開始建立本身的 UI 組件庫。較早的 Twitter 的 Bootstrap 雖然只能稱爲 UI 庫,但也大大提高了開發效率。後面 MVVM
大行其道 ,前端終於能夠把 HTML、CSS、JS 放在一塊兒開發包含 UI 、交互真正意義上的組件了,如今有基於 React
的 Material-UI、國內阿里金服基於 React
的 Ant Design、餓了麼基於 Vue.js
的 Element、TalkingData 基於 Vue.js
的 iView 等。有了這些 UI 組件,讓前端開發變得史無前例的方便,完成一個項目就像是拿一塊塊的積木(組件)堆成一個完整項目。css
考慮到前期開發 UI 組件的工做量及後期維護成本,我認爲在大廠開源 UI 組件庫的基礎上個性化色彩(通常都提供顏色定製)、增長團隊的個性化需求組件、減小不須要的組件是個不錯的主意。html
有了團隊的 UI 組件庫就少不了使用文檔,畢竟文檔仍是比口口相傳要靠譜的多。這裏介紹一個能夠快速建立 React UI 組件庫使用、演示文檔的項目:Docz。Docz 的特點是零配置、簡單、快速,它使用 Markdown
語法的擴展 MDX (在 Markdown 裏引入 React 組件並渲染出組件)來書寫文檔,對於熟悉 Markdown
的開發者是能夠直接上手的。下面貼一張官方的圖看看有多簡單:
前端
左邊是建立的
MDX
文檔,右邊是 Docz 渲染出的組件及組件代碼。
是否是很方便?那下面簡單介紹一下使用步驟。vue
yarn add docz --dev 或者 npm install docz --save-dev
.mdx
文件並輸入:--- name: Button --- import { Playground, PropsTable } from 'docz' import Button from './' # Button <PropsTable of={Button} /> ## Basic usage <Playground> <Button>Click me</Button> <Button kind="secondary">Click me</Button> </Playground>
yarn docz dev
而後就完成了一個簡單的 Button 組件的演示、使用文檔。
react
更多詳情: http://www.docz.site/introduc...
零配置方即是方便,但有時想界面個性化點仍是很費事的(官方提供 Themes 支持,但現僅有一套官方的默認主題),下面分享一個經過引入本地 CSS 的方式來改變默認主題的配置。git
doczrc.js
,增長 htmlContext 內容。更多配置: https://www.docz.site/documen...
export default { htmlContext: { head: { links: [ { rel: 'stylesheet', href: '/base.css' } ] } } }
.docz
目錄下建立 public
文件夾並建立 base.css
,在 base.css
裏寫本身的樣式覆蓋默認的便可。Storybook 是一個更強大的集組件開發、查看、測試的文檔工具,支持:github