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的故事版介绍


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

  17. 2:Add vue, babel-core, and babel-loader
  18. 执行命令:
  19. npm i --save vue
  20. npm i --save-dev babel-loader vue-loader vue-template-compiler
  21. npm i --save-dev @babel/core babel-preset-vue

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

  1. 5:Write your stories
  2.  
  3. 下面开始写你的stories
  1. 现在你可以写一些stories在../stories/index.js文件夹中,就像:
  2. import Vue from 'vue';
  3. import { storiesOf } from '@storybook/vue';
  4. import MyButton from './Button.vue';
  5. storiesOf('MyButton', module)
  6. .add('story as a template', () => '<my-button :rounded="true">story as a function template</my-button>')
  7. .add('story as a component', () => ({
  8. components: { MyButton },
  9. template: '<my-button :rounded="true">rounded</my-button>'
  10. }));
  11. 你可以多次使用storiesOf来创建你的组件,每一个storiesOf都是单独对应一个组件,关于storiesOf的组件使用有两种形态:
  12. story as a template
  13. story as a component
  14. 6:Run your Storybook
  15. 现在万事俱备,来运行你的项目吧,执行命令:
  16. npm run storybook
  17. 现在你对组件的任何修改都会实时更新,这得益于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. 排序之冒泡排序(bubblesort)

    package com.pailian; /* * 冒泡排序 * 比较相邻的俩位数,这样每轮比较都会出现一个最大值或最小值 * 下一轮比较就会减少一次(因为已经知道了一个最大值或最小值) * 注意根据 ...

  2. 【转载】Sikuli安装及使用——基于图像识别自动化工具

    一.Sikuli能做什么? 用屏幕截图的方式,用截出来的图形元素组合出神奇的程序实现自动化安装.卸载软件,自动化测试(Windows.mac应用测试,Web测试,移动端测试) 二.安装Sikuli 预 ...

  3. python爬虫,爬取一系列新闻

    这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2941. 由于存在多次请求,所以稍微将请求封装如下 def tr ...

  4. python的对象 变量

    对象 所有的数据类型都是对象 字符串 数字:整数.数字 列表.字典 函数.类.模块.方法 print(type(20)) # 查看对象的数据类型 python整型: int  浮点型 :float 精 ...

  5. Elastic-Job 配置介绍

    作业配置 与Spring容器配合使用作业,可以将作业Bean配置为Spring Bean,可在作业中通过依赖注入使用Spring容器管理的数据源等对象.可用placeholder占位符从属性文件中取值 ...

  6. Linux系统的目录结构及常见目录总结

    Linux系统的目录结构(必须掌握的内容) 所有目录只有一个顶点/(根),所有目录的起点. 只有一棵树 Linux的目录结构也是有规律的,而且也是按照类别组织的. 应用程序 /usr/bin 数据文件 ...

  7. SlidingMenu第三篇 --- SlidingMenu使用介绍

    在Activity中通过SlidingMenu的构造方法,直接设置侧滑菜单 public class Main2Activity extends Activity { @Override protec ...

  8. 最大熵模型(MEM)

    1. 最大熵原理 最大熵Max Entropy原理:学习概率模型时,在所有可能的概率模型(即概率分布)中,熵最大的模型是最好的模型. 通常还有其他已知条件来确定概率模型的集合,因此最大熵原理为:在满足 ...

  9. PHP7.1 mcrypt_module_open() is deprecated

    PHP7.1 mcrypt_module_open() is deprecated 一:函数前添加抑制符 @ mcrypt_module_open....;->@mcrypt_module_op ...

  10. 微信省市区 Mysql数据库

    $jsonStr = '[{"cities":["\u5b89\u5e86","\u868c\u57e0","\u4eb3\u5d ...