Vue 集成 storybook的方法
一、storybook 介紹
storybook是一個開源的組件管理、文檔UI展示工具,用來在大型的項目中,讓團隊成員一個可以知道到團隊已開發(fā)的組件,避免編寫重復(fù)的組件,減少團隊溝通時間和開發(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.入口配置
在項目根目錄新建 .storybook/config.js 文件##.storybook/config.js#
import { configure } from '@storybook/vue'
// 加載所有的組件故事
configure(require.context('./stories', true, /\.js$/), module)
3.自定義wepback配置
在項目根目錄新建 .storybook/webpack.config.js 文件
// 在這里你可以重寫storybook 默認的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跨域代理
在項目根目錄新建 .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插件提供一個表單控制臺,用戶可以通過表單控制臺來改變組件相關(guān)屬性,展示不同屬性下的組件
(2)actions

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

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

addon-docs插件讓你可以為你的組件編寫文檔
(5)插件引入
安裝相關(guān)依賴
npm install @storybook/addon-knobs @storybook/addon-actions @storybook/addon-storysource @storybook/addon-docs --dev
在項目根目錄新建 .storybook/addons.js 文件
import '@storybook/addon-knobs/register'; import '@storybook/addon-actions/register'; import '@storybook/addon-storysource/register'; import '@storybook/addon-docs/register';
6.展示自己的組件
在項目根目錄下的stories文件夾中,新建一個任意名稱的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>'
});
最后在根目錄命令行啟動storybook就搞定了
npm run storybook
到此這篇關(guān)于C#實現(xiàn)窗體與子線程的交互的方法的文章就介紹到這了,更多相關(guān)C#實現(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問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
Vue3.4中v-model雙向數(shù)據(jù)綁定新玩法詳解
defineModel?是一個新的?<script?setup>?宏,旨在簡化支持?v-model?的組件的實現(xiàn),?這個宏用來聲明一個雙向綁定?prop,下面我們就來看看他的具體使用吧2024-03-03

