storyBook浅试

2023-10-10 00:40
文章标签 storybook 浅试

本文主要是介绍storyBook浅试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 开发
    • 快速安装
    • 配置ts
    • 编写组件说明文档
    • 常用的Addon
  • 自定义配置
    • 自定义html头
    • 自定义标题链接等
    • 自定义主题
  • 优缺点对比
  • 相关链接

image.png

开发

快速安装

npx -p @storybook/cli sb init
# 也可以全局按照cli后getstorybook命令init
npm run storybook 

配置ts

配合cra的话,首先看一下react-scripts版本,3以上配置的应该是babel7自动可以支持ts的,如果使用cra的话,babel的ts设置就已经开启了,而storybook会去使用cra的配置,所以根本不需要去注入配置。

webpack自定义配置loader支持ts等
  • 按照配置这个loaderreact-docgen-typescript-loader
// .story/main.js
const path = require("path");module.exports = {stories: ['../stories/**/*.stories.js', '../stories/**/*.stories.tsx'],addons: ['@storybook/preset-create-react-app','@storybook/addon-actions','@storybook/addon-links','@storybook/addon-info'],webpackFinal: async config => {config.module.rules.push({test: /\.(js|jsx|ts|tsx)$/,exclude: /node_modules/,use: [{loader: require.resolve('babel-loader'),options: {presets: [['react-app', { flow: false, typescript: true }]],},},{loader: require.resolve("react-docgen-typescript-loader"),options: {tsconfigPath: path.resolve(__dirname, "../tsconfig.json"),},}],});config.resolve.extensions.push('.ts', '.tsx');return config;},
} 

编写组件说明文档

在stories目录下创建js/tsx/ts文件即可。默认是如下的目录

image (1).png

也可以自定义配置目录结构。

import React from 'react';
import { BuyShopCheckBlock,BuyShopCheckBlockItem } from '../src/buyshopcheck';
import { storiesOf } from "@storybook/react";
import { withInfo } from "@storybook/addon-info";
import { action } from "@storybook/addon-actions";
import { Button } from '@storybook/react/demo';const stories = storiesOf("组件", module);stories.add("BuyShopCheckBlock",withInfo({ inline: true })(() => (<BuyShopCheckBlock blockType='shop-checkblock-1'><BuyShopCheckBlockItem chargeMode="activied" id="0" cantChange></BuyShopCheckBlockItem></BuyShopCheckBlock>)),{ notes: `计费选择组件` }
)
.add("BuyShopCheckBlockItem",withInfo({ inline: true })(() => (<BuyShopCheckBlock blockType='shop-checkblock-2'><BuyShopCheckBlockItem chargeMode="activied" id="0" cantChange></BuyShopCheckBlockItem>
</BuyShopCheckBlock>
))
) 

withInfo:添加props参数等

常用的Addon
  • addon-actions:组件操作事件,如click、change
  • addon-links:链接,如某个Story中单击按钮,链接到另一个Story中
  • addon-notes:Story的备注
  • addon-options:调整StoryBook的外观
  • addon-knobs:在页面上改变变量

自定义配置

自定义html头

.storybook目录下创建preview-head.html文件 创建后的标签就会被加载到iframe里,但是不会加载到UI主界面

自定义body

同上,创建preview-body.htm文件

自定义标题链接等

.storybook目录下创建manage.js文件

import { addons } from '@storybook/addons';
import { themes } from '@storybook/theming';
import tencent from './tencent';addons.setConfig({theme: {...themes.light,brandTitle: 'Tencent',}
}); 
自定义主题

.storybook目录创建主题文件,再如上代码引入主题名即可

// theme:tencent.js
/** @Author: Calamus* @Descripttion: * @version: * @Date: 2020-07-14 16:25:48* @LastEditors: Calamus* @LastEditTime: 2020-07-14 16:27:54*/ 
import { create } from '@storybook/theming/create';export default create({base: 'light',colorPrimary: 'hotpink',colorSecondary: 'deepskyblue',// UIappBg: 'white',appContentBg: 'silver',appBorderColor: 'grey',appBorderRadius: 4,// TypographyfontBase: '"Open Sans", sans-serif',fontCode: 'monospace',// Text colorstextColor: 'black',textInverseColor: 'rgba(255,255,255,0.9)',// Toolbar default and active colorsbarTextColor: 'silver',barSelectedColor: 'black',barBg: 'hotpink',// Form colorsinputBg: 'white',inputBorder: 'silver',inputTextColor: 'black',inputBorderRadius: 4,brandTitle: 'Tencent',brandUrl: 'https://example.com',
//   brandImage: 'https://placehold.it/350x150',
}); 

相关链接

  • 文档
  • 5.1文档
  • 优秀的文章

juejin.im/post/5cf395… www.cnblogs.com/mrzhu/p/102… medium.com/ingenious/s…

这篇关于storyBook浅试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/176724

相关文章

storybook使用

文中有部分名词可能不准确,见谅 本文主要介绍storybook+shadcn/ui+tailwindcss的storybook代码编写。 相关lib版本 “storybook”: “^8.2.4”, “tailwindcss”: “^3.4.1”, 一、简介 首先,使用storybook开发一个组件需要两个文件,一个是组件*.tsx一个是story*.stories.ts/*.sto

封装Vue组件库(三)、Storybook 可视化的展示组件的平台

Storybook 介绍 Storybook 是开发组件库的必备开发工具,翻译为“故事书”。 我们可以把每一个组件想象成一个故事,Storybook就好像在讲一个个故事。 Storybook 是一个可视化的展示组件的平台使用 Storybook 可以在独立的环境中,创建组件,并在隔离的开发环境中,以交互式的方式展示组件Storybook 在主程序之外运行,因此用户可以独立开发组件库,而不必

前端工具Storybook简介

认识Storybook Storybook (https://storybook.js.org/) 是一个很不错的开源工具,用于帮助前端组件开发,可以支持React, Vue和Angular等框架。 正如它的名字所预示的一样,使用它可以写出组件库的活的用户故事(user story)。 它的网站首页这样说道:storybook 为UI组件提供一个独立的沙箱环境,在这里无论是edge case还是

基础篇3 浅试Python爬虫爬取视频,m3u8标准的切片视频

浅试Python爬取视频 1.页面分析 使用虾米视频在线解析使用方式:https://jx.xmflv.cc/?url=目标网站视频链接例如某艺的视频 原视频链接 解析结果: 1.1 F12查看页面结构 我们发现页面内容中什么都没有,video标签中的src路径也不是视频的数据。 1.2 老规矩看网络请求中的过滤的XHR 发现一堆没卵用的数据返回,直到我们看到这个mixed.m3

双指针--浅试

在做题中发现一件很奇怪的事情:   我看到了题目描述,心中有了一个解题的思路,然后尝试解题,看题解的时候发现“双指针法”我很熟悉但是又感觉不太懂。   把题解代码看了以后却与我的代码大差不差,才恍然大悟,原来我用的就是双指针法。一些大概念看着很复杂,但其实道理就那么样,多练练,多看看才会理解解题方法。

双指针--浅试

在做题中发现一件很奇怪的事情:   我看到了题目描述,心中有了一个解题的思路,然后尝试解题,看题解的时候发现“双指针法”我很熟悉但是又感觉不太懂。   把题解代码看了以后却与我的代码大差不差,才恍然大悟,原来我用的就是双指针法。一些大概念看着很复杂,但其实道理就那么样,多练练,多看看才会理解解题方法。

Vue 集成 storybook

一、storybook 介绍 storybook是一个开源的组件管理、文档UI展示工具,用来在大型的项目中,让团队成员一个可以知道到团队已开发的组件,避免编写重复的组件,减少团队沟通时间和开发成本   二、storybook 环境搭建 1. 依赖安装 npm install @storybook/vue --save-devnpm install vue-loader vue-te

storybook react使用

storybook react react 创建你的项目的文件夹(此步为用VSCodeIDE编写需要,如果用的是WebStorm在新建文件的时候可以直接选择建一个create-react-app的) create-react-app demo //demo是指项目文件夹的名字,可自取 进入项目目录 cd demonpm start //打开React官网界面,即启动成功

vue3-ts-storybook:理解storybook、实践 / 前端组件库

一、理解 storybook Storybook是一个开源的工具,可以帮助前端开发者更好地构建、测试和展示组件。 具体来说,Storybook可以做以下几件事情: 1、为每个组件提供一个独立的页面,可以快速展示或调试组件。 2、管理多个组件,按需展示和测试,帮助开发者更好地理解和组织组件库。 3、可以用各种状态(例如不同的props和事件触发)的快照测试组件,保证在不同状态下组件的正确性。

在不同 webpack 版本的 Vue 项目中配置 Storybook

在之前的一篇文章中,介绍过组件化搭建工具 storybook 在 vue 项目中的安装和配置。相比于其成文的时间,vue 项目依赖的工具多有发展;并且在实际应用中,多种历史版本的项目并存的状况比比皆是,用官方提供的 npx sb init 往往会出现配置失败的情况,而较新或过旧的资料都在网上难觅 -- 所以在此特别补充一篇,记录 新、旧 两种典型配置下,storybook 可用的手动配置方法: