从组件文档引发的惨案 ◤1◢

公司目前有很多后台管理系统,目前代码量都越来越大,在开发的过程中,我们也秉承着提取公共组件,通过复用组件来减少开发工作量,随着公共组件数量的增加,新同事想要快速了解公共组件如何使用,需要到具体的业务页面中去看,这样子学习组件的成本太大,于是就想给每个组件提供一个文档,来解释组件如何使用。

恰巧之前有同事分享过storybook,听闻效果不错,就准备尝试一下~~

storybook

storybook,人如其名,它将实例化的组件称之为story,不同组件的不同实例化组成了一本 ◤故事书◢。每个组件可以有多个故事,故事之间不同一般是因为入参不同,幻化出的组件不同功能。厉害的它还支持很多插件,来扩展这本故事书。

storybook界面

React项目集成storybook

在现有的项目集成storybook,最大的问题是需要将已有的webpack配置和storybook自己的webpack配置集成到一起。

安装storybook

有两种方式(手动和自动),具体可以参考官方文档。

我是采用的手动的方式,觉得比较可控一些。

npm install @storybook/react --save-dev

 

增加配置文件

在根目录创建文件夹.storybook,然后创建config.js,这个配置文件主要是为了告诉storybook哪些文件是story文件。

import { configure } from '@storybook/react';
// 查找src目录下后缀是.stories.js的文件,就是story
configure(require.context('../src', true, /\.stories\.js$/), module);

 

合并webpack.config.js

storybook要加载你写的组件,需要依赖你的webpack.config.js来编译代码,参考具体文档。

因为我们的项目是使用的ant.desgin pro搭建的,查找了一下居然有人解决过这个问题,就参考了github issues中的解决方法。

写一个story

story其实就是引入组件,并实例化组件的过程,具体的代码如下。

import React from 'react';
import {storiesOf} from '@storybook/react';
import { Button } from '@storybook/react/demo'; 

const stories = storiesOf('Button', module);

stories.add(
    'withText',
    () => {
        return ;
    }
).add(
    'withEmoji',() => {
        return 

你可能感兴趣的:(从组件文档引发的惨案 ◤1◢)