storybook创建vue组件库文档

官方文档

https://storybook.js.org/docs/vue/get-started/introduction

一、安装

storybook依赖脚手架的一些默认配置,所以先用vue-cli创建项目,然后用下面的命令自动安装。

npx -p @storybook/cli sb init --type vue

安装后项目目录

项目多出两个文件夹.storybook和stories

├── .storybook      // storybook配置相关文件
│   ├── main.js     // 入口文件,配置插件,webpack等
│   └── preview.js  // 其他配置信息
│
└── src
     └── stories    // 组件story书写的核心位置

启动项目

npm run storybook

打包项目

npm run build-storybook

二、配置组件支持less

组件如果使用less的话,需进行额外配置,否则会报错。

配置文件 .storybook/main.js

增加webpackFinal属性

 "webpackFinal": async (config, {
    configType
  }) => {
    config.module.rules.push({
      test: /\.less$/,
      use: ['style-loader', 'css-loader', 'less-loader'],
    });

    return config;
  },

三、配置主题

自定义标题,替代默认storybook文案


配置主题

新建文件.storybook/myTheme.js

import {
  create
} from '@storybook/theming';

export default create({
  base: 'light',
  brandTitle: 'Olympic 2021',
  // brandUrl: 'https://example.com',
  // brandImage: 'https://place-hold.it/350x150',
});

新建文件.storybook/manager.js

import {
  addons
} from '@storybook/addons';
import myTheme from './myTheme.js'

addons.setConfig({
  theme: myTheme,
});
标题修改

四、左侧分组及中文显示

每个组件在stories下定义一个对应的xxx.stories.js的文件。

以默认demo的button举例,可以修改分组名和左侧列表的中文名。

button.sotries.js

展示效果

五、自定义canvas展示外层样式

组件展示的时候,可能需要外层父元素和一些特定样式
增加 decorators,以button为例,加背景展示


自定义canvas展示外层样式
export default {
  title: 'Example例子/Button按钮',
  component: MyButton,
  argTypes: {
    backgroundColor: { control: 'color' },
    size: { control: { type: 'select', options: ['small', 'medium', 'large'] } },
  },
  decorators: [() => ({
    template: '<div style="overflow:hidden;background:red;height: 200px"><story /></div>'
  })],
};

六、给组件展示时引入默认样式

直接在xxx.stories.js头部import样式文件

import '../style/tableDemo.css'

七、自定义markdown文档

使用插件

  1. npm 安装 @storybook/addon-notes

  2. 在.storybook下的 main.js增加配置


    main.js增加配置
  3. 对应组件的xxx.stores.js文件中配置markdown文件,增加parameters配置

import tableItem from '../components/table.vue';
import {tableDataDefault} from '../datas/tableMockData.js'
import '../style/tableDemo.css'
// 引入markdown文件
import tableReadme from '../../docs/tableReadme.md'
export default {
  title: '基础组件/table',
  component: tableItem,
  // 配置markdown文件
  parameters: {
    notes: tableReadme,
  },
};

const Template = (args, {
  argTypes
}) => ({
  props: Object.keys(argTypes),
  components: {
    tableItem
  },
  template: '<table-item class="table_demo" v-bind="$props" />',
});
console.log(tableDataDefault)
export const Primary = Template.bind({});
Primary.args = tableDataDefault;
image.jpeg
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容