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插件讓用戶在對(duì)組件的操作,可以反應(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue如何使用 Slot 分發(fā)內(nèi)容實(shí)例詳解
本篇文章主要介紹了vue如何使用 Slot 分發(fā)內(nèi)容實(shí)例詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09vue安裝和使用scss及sass與scss的區(qū)別詳解
這篇文章主要介紹了vue安裝和使用教程,用了很久css預(yù)編譯器,但是一直不太清楚到底用的sass還是scss,直到有天被問住了有點(diǎn)尷尬,感興趣的朋友一起看看吧2018-10-10vue實(shí)現(xiàn)點(diǎn)擊選中,其他的不選中方法
今天小編就為大家分享一篇vue實(shí)現(xiàn)點(diǎn)擊選中,其他的不選中方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09基于vue開發(fā)微信小程序mpvue-docs跳轉(zhuǎn)頁面功能
這篇文章主要介紹了基于vue寫微信小程序mpvue-docs跳轉(zhuǎn)頁面,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04