Vue 集成 storybook的方法
一、storybook 介紹
storybook是一個(gè)開源的組件管理、文檔UI展示工具,用來在大型的項(xiàng)目中,讓團(tuán)隊(duì)成員一個(gè)可以知道到團(tuán)隊(duì)已開發(fā)的組件,避免編寫重復(fù)的組件,減少團(tuán)隊(duì)溝通時(shí)間和開發(fā)成本

二、storybook 環(huán)境搭建
1. 依賴安裝
npm install @storybook/vue --save-dev npm install vue-loader vue-template-compiler @babel/core babel-loader babel-preset-vue --save-de
2.入口配置
在項(xiàng)目根目錄新建 .storybook/config.js 文件##.storybook/config.js#
import { configure } from '@storybook/vue'
// 加載所有的組件故事
configure(require.context('./stories', true, /\.js$/), module)
3.自定義wepback配置
在項(xiàng)目根目錄新建 .storybook/webpack.config.js 文件
// 在這里你可以重寫storybook 默認(rèn)的webpack配置
module.exports = async ({ config, mode }) => {
// `mode` has a value of 'DEVELOPMENT' or 'PRODUCTION'
// 新加less語法加載器
config.module.rules.push({
test: /\.less$/,
use: ["style-loader", "css-loader", "less-loader", {
loader: 'style-resources-loader',
options: {
patterns: [
path.resolve(__dirname, '../src/assets/style/common/mixins.less')
]
}
}]
})
// 新增@別名
config.resolve.alias = Object.assign(config.resolve.alias, {
'@': path.resolve(__dirname, '../src')
})
// Return the altered config
return config
}
4.ajax跨域代理
在項(xiàng)目根目錄新建 .storybook/middleware.js 文件
const proxy = require('http-proxy-middleware')
module.exports = function expressMiddleware(router) {
router.use(
'/api',
proxy({
target: `http://locahost:5000`, // 服務(wù)器 api地址
changeOrigin: true
})
)
5.相關(guān)插件介紹和使用 (1)knobs

knobs插件提供一個(gè)表單控制臺(tái),用戶可以通過表單控制臺(tái)來改變組件相關(guān)屬性,展示不同屬性下的組件
(2)actions

actions插件讓用戶在對組件的操作,可以反應(yīng)在底部的日志里面
(3)storysource

addon插件可以讓你直接在界面上看到當(dāng)前sotry的源碼
(4)docs

addon-docs插件讓你可以為你的組件編寫文檔
(5)插件引入
安裝相關(guān)依賴
npm install @storybook/addon-knobs @storybook/addon-actions @storybook/addon-storysource @storybook/addon-docs --dev
在項(xiàng)目根目錄新建 .storybook/addons.js 文件
import '@storybook/addon-knobs/register'; import '@storybook/addon-actions/register'; import '@storybook/addon-storysource/register'; import '@storybook/addon-docs/register';
6.展示自己的組件
在項(xiàng)目根目錄下的stories文件夾中,新建一個(gè)任意名稱的js文件
import Vue from 'vue';
// 這里導(dǎo)入你自己的組件,
import MyButton from '@/components/Button.vue';
export default { title: 'Button' };
export const withText = () => '<my-button>with text</my-button>';
export const withEmoji = () => '<my-button>😀 😎 👍 💯</my-button>';
export const asAComponent = () => ({
components: { MyButton },
template: '<my-button :rounded="true">rounded</my-button>'
});
最后在根目錄命令行啟動(dòng)storybook就搞定了
npm run storybook
到此這篇關(guān)于C#實(shí)現(xiàn)窗體與子線程的交互的方法的文章就介紹到這了,更多相關(guān)C#實(shí)現(xiàn)窗體與子線程的交互內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3 ts組合式API異常onMounted is called when&
這篇文章主要為大家介紹了vue3 ts組合式API異常onMounted is called when there is no active component問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Vue 組件參數(shù)校驗(yàn)與非props特性的方法
這篇文章主要介紹了Vue 組件參數(shù)校驗(yàn)與非props特性的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
Vue中使一個(gè)div鋪滿全屏的實(shí)現(xiàn)
最近在項(xiàng)目開發(fā)中,就遇到了這個(gè)問題,Vue中如何使一個(gè)div鋪滿全屏,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Vue3.4中v-model雙向數(shù)據(jù)綁定新玩法詳解
defineModel?是一個(gè)新的?<script?setup>?宏,旨在簡化支持?v-model?的組件的實(shí)現(xiàn),?這個(gè)宏用來聲明一個(gè)雙向綁定?prop,下面我們就來看看他的具體使用吧2024-03-03
Vue 構(gòu)造選項(xiàng) - 進(jìn)階使用說明
這篇文章主要介紹了Vue 構(gòu)造選項(xiàng) - 進(jìn)階使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

