storybook脚手架:https://github.com/zw1371/storybook-cli

最近在研究业务型组件的使用,因为在单独开发组件的时候需要调试,所以为每一个组件都编写一个webpack开发环境,然后上传上去为了其他人可以直接使用又把webpack上传上去,这样会有两个问题:

  1:每个项目都要弄一个webpack开发环境 即使是只需要复制代码

  2:把开发环境上传上去类似与上传java代码把eclipse上传上去一样,这样感觉不是很合适

后来听到大神同事介绍storybook,所以研究了一下:

官网:https://storybook.js.org/basics/guide-vue/

下面把storybook的vue使用翻译一下:针对vue的故事版介绍


也许你已经尝试使用快速入门向导(quick start guide)来构建你的故事板项目,如果你想手动的(manually)创建故事版,请看下文 这也会帮助你理解故事版的工作原理 开始吧!
故事版自带webpack和开发环境
这个storybook脚手架和vue脚手架非常类似(similar),但是他又允许你配置其他一些可能这个脚手架不满足的东西 在这里,跟随我一起开始vue的storybook故事版构建吧 步骤(Table of contents)
  Add @storybook/vue
  Add vue and babel-core
  Create the NPM script
  Create the config file
  Write your stories
  Run your Storybook 1:Add @storybook/vue
首先,你需要导入@storybook/vue到你的项目中,运行命令: npm i --save-dev @storybook/vue

2:Add vue, babel-core, and babel-
loader
执行命令:
npm i --save vue
npm i --save-dev babel-loader vue-loader vue-template-compiler
npm i --save-dev @babel/core babel-preset-vue

3:Create the NPM script

将下面的npm脚本添加到你的项目的package.json文件中,为了(in order to)可以执行storybook命令: {
"scripts": {
"storybook": "start-storybook -p 9001 -c .storybook"
}
} 4:Create the config file Storybook可以以多种不同的(several different)方式进行配置.这就是为什么我们需要一个配置目录,在上面的脚本中我们添加了一个-c的选项的时候提到(mentioning).storybook,他就是配置目录 下面你要做三件事: 1:引入并注册vue组件,就像你平常那样做的一样,
2:对于vue创建,你同样需要使用vue.use去注册他们
3:引入你的stories 下面是一个例子,关于配置文件.storybook/config.js的: import { configure } from '@storybook/vue'; import Vue from 'vue';
import Vuex from 'vuex'; // Vue plugins // Import your custom components.
import Mybutton from '../src/stories/Button.vue'; // Install Vue plugins.
Vue.use(Vuex); // Register custom components.
Vue.component('my-button', Mybutton); function loadStories() {
// You can require as many stories as you need.
require('../src/stories');
} configure(loadStories, module); 这个例子注册了Button组件,导入了Vuex,然后从../stories/index.js里面loaded你的故事版 所有的组件注册和插件引入必须在configure()方法之前声明好 这个stories文件夹仅仅是一个例子,你可以从任何地方引入你的stories,我们认为stories文件最好尽可能靠近资源文件

5:Write your stories

下面开始写你的stories
现在你可以写一些stories在../stories/index.js文件夹中,就像:

import Vue from 'vue';

import { storiesOf } from '@storybook/vue';

import MyButton from './Button.vue';

storiesOf('MyButton', module)
.add('story as a template', () => '<my-button :rounded="true">story as a function template</my-button>')
.add('story as a component', () => ({
components: { MyButton },
template: '<my-button :rounded="true">rounded</my-button>'
}));
你可以多次使用storiesOf来创建你的组件,每一个storiesOf都是单独对应一个组件,关于storiesOf的组件使用有两种形态: story as a template
story as a component 6:Run your Storybook
现在万事俱备,来运行你的项目吧,执行命令: npm run storybook 现在你对组件的任何修改都会实时更新,这得益于webpack热更新的帮助

storybook构建vue组件的更多相关文章

  1. 仿ElementUI构建自己的Vue组件库用babel-plugin-component按需加载组件及自定义SASS主题

    最近使用ElementUI做项目的时候用Babel的插件babel-plugin-component做按需加载,使得组件打包的JS和CSS包体积大大缩小,加载速度也大大提升,所有想模仿做一个组件库也来 ...

  2. webpack单独构建scss文件与.vue组件里构建scss的一个坑

    在入口main.js里构建scss是通过引入模块的方式 import './assets/_reset.scss'; import './assets/_flex.scss'; import './a ...

  3. 手把手教你如何构建Vue前端组件库

    在前端开发中可能会遇到将相同的功能模板集合成一个组件,供他人调用,这样可以减少重复造轮子,也可以节约人力.财力,更能够提高代码的可维护度:下面将通过详细的步骤教你如何构建一个Vue前端组件. 1.在本 ...

  4. 基于Vue简易封装的快速构建Echarts组件 -- fx67llQuickEcharts

    fx67llQuickEcharts A tool to help you use Echarts quickly! npm 组件说明 这本来是一个测试如何发布Vue组件至npm库的测试项目 做完之后 ...

  5. vue2升级vue3:Vue Demij打通vue2与vue3壁垒,构建通用组件

    如果你的vue2代码之前是使用vue-class-component 类组件模式写的.选择可以使用 https://github.com/facing-dev/vue-facing-decorator ...

  6. JS组件系列——又一款MVVM组件:Vue(二:构建自己的Vue组件)

    前言:转眼距离上篇 JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查) 已有好几个月了,今天打算将它捡起来,发现好久不用,Vue相关技术点都生疏不少.经过这几个月的时间,Vue ...

  7. webpack构建vue单文件组件

    1.安装vue-loader和vue-template-compiler npm i vue-loader vue-template-compiler --save-dev 2.配置webpack.c ...

  8. 如何快速构建React组件库

    前言 俗话说:"麻雀虽小,五脏俱全",搭建一个组件库,知之非难,行之不易,涉及到的技术方方面面,犹如海面风平浪静,实则暗礁险滩,处处惊险- 目前团队内已经有较为成熟的 Vue 技术 ...

  9. webpack构建vue项目(再谈配置)

    webpack配置起来确实麻烦,这不,之前用刚配好了vue1+的版本,结果在(部分)安卓机上测试,发现存在开启热加载(dev-server)的情况下不能识别vue语法的问题,试了很多方法,都没能很好的 ...

随机推荐

  1. UEP-添加

    添加数据时候自动更新时间,注意添加数据时,要设置最大主键 时间的工具类:CommonUtil 人的工具类: ContextUtil ScmCompanyAccount scmCompanyAccoun ...

  2. oracle - sqldeveloper 手动执行包 package的方法

    比如建立一个包头如下: create or replace PACKAGE LSG_OBC_ORDERS_HK01_EC_PKG AS PROCEDURE LSG_OBC_HK01_main( err ...

  3. php通过pecl方式安装扩展

    安装pecl cd /usr/local/php/bin/ wget http://pear.php.net/go-pear.phar -O go-pear.php php go-pear.php # ...

  4. JSON.parse与JSON.stringify

    JSON:JavaScript Object Notation(JavaScript对象表示法):甚至我们就可以大致认为JSON就是Javascript的对象,只不过范围小上一些. JSON的MIME ...

  5. 关于Java多线程的线程同步和线程通信的一些小问题(顺便分享几篇高质量的博文)

    Java多线程的线程同步和线程通信的一些小问题(顺便分享几篇质量高的博文) 前言:在学习多线程时,遇到了一些问题,这里我将这些问题都分享出来,同时也分享了几篇其他博客主的博客,并且将我个人的理解也分享 ...

  6. laravel 自动加载 自定义的文件/辅助函数

    需求 在 laravel 中自定义了一些 辅助函数,想要laravel框架自动加载这些函数 实现 将自定义的辅助函数放在helpers.php文件中,如下: 在compsoer.json 的 auto ...

  7. Comparing Spring AOP and AspectJ

    AOP 概念 在我们开始之前 , 让我们做一个快速.高级别审查的核心术语和概念 : 方面 — —标准 / 特征代码被分散在多个场所中的应用 , 通常不同于实际的业务逻辑 (例如 , 交易管理) .各方 ...

  8. PAT (Basic Level) Practice (中文)1008 数组元素循环右移问题 (20 分)

    题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805316250615808 #include <iost ...

  9. Easy methods to select MB Star, Extremely MB Star, MB SD C4, Mercedes BENZ C5 SD

    MB Star, Extremely MB SD Connect C4, MB SD C4, Mercedes BENZ C5 SD are usually analysis tools to get ...

  10. Python爬虫与一汽项目【一】爬取中海油,邮政,国家电网问题总结

    项目介绍 中国海洋石油是爬取的第一个企业,之后依次爬取了,国家电网,中国邮政,这三家公司的源码并没有多大难度, 采购信息地址: 国家电网电子商务平台 http://ecp.sgcc.com.cn/pr ...