storybook vue2组件库搭建到 npm 发布【入门篇】

618 阅读4分钟

Storybook: Frontend workshop for UI development​storybook.js.org/

Storybook 是一种开源工具,可帮助开发人员独立于应用程序的其余部分构建、测试和展示其组件。它提供了一个用户界面,允许您以交互方式开发和测试您的组件。在这篇博文中,我们将为您提供 Storybook 初学者指南,并向您展示如何使用它来开发您的组件。

为什么使用Storybook?

1、为每个组件提供一个独立的页面,可以快速展示或调试组件。

2、管理多个组件,按需展示和测试,帮助开发者更好地理解和组织组件库。

3、可以用各种状态(例如不同的props和事件触发)的快照测试组件,保证在不同状态下组件的正确性。

4、提供一些插件(如addon-knobs)可以方便地测试组件的可配置性。

5、可以将组件的使用文档集成在一起,让组件的使用者更好地理解组件的用法和API。

Storybook是一个非常实用的工具,它可以帮助前端开发者更好地管理和测试组件,同时提高开发效率和代码质量。


一、构建一个新项目安装 Storybook

构建一个新项目

node 16.20.0
npm 8.19.4

Vue create vue2-storybook-module

也可以直接使用 npx -p @storybook/cli sb init --type vue 来构建。

因为要安装vue2 版本,所有采用的是 Vue create vue2-storybook-module 安装。

进入项目目录

cd vue2-storybook-module

运行项目

npm run serve

关联git 仓库

git remote add origin 远程仓库链接地址

远程仓库链接地址在github上找。

 本地编辑代码后提交至远程分支。
git push -u origin master

安装 Storybook

npx sb init

二、启动 Storybook

  • 安装后项目目录后,项目多出两个文件夹.storybook和stories
├── .storybook      // storybook配置相关文件
│   ├── main.js     // 入口文件,配置插件,webpack等
│   └── preview.js  // 其他配置信息
│
└── src
     └── stories    // 组件story书写的核心位置

启动项目

npm run storybook

打包项目

npm run build-storybook

三、组件封装

注册组件

因为我们可能会封装多个组件,所以在src下面新建一个package.js来注册要封装的组件。

storybook 安装后官网已经给准备了几个示例组件,直接写路径就行。

// 引入封装好的组件
import MyButton from "./stories/Button.vue";
import MyHeader from "./stories/Header.vue";
import MyPage from "./stories/Page.vue";
const coms = [MyButton,MyHeader,MyPage]; // 将来如果有其它组件,都可以写到这个数组里

// 批量组件注册
const install = function (Vue) {
  coms.forEach((com) => {
    Vue.component(com.name, com);
  });
};

export default install; // 这个方法以后再使用的时候可以被use调用

组件打包

到这里为止,我们的组件封建基本就完成了,当然组件封装成什么样得看自己得业务需求了,接下来我们就需要将组件进行打包了。

修改我们项目得package.json文件,配置打包命令:

"package": "vue-cli-service build --target lib ./src/package.js --name my-storybook-ui --dest my-storybook-ui"

打包命令解释:
--target lib 关键字 指定打包的目录
--name 打包后的文件名字
--dest 打包后的文件夹的名称

执行打包命令

npm run package

打包执行完成后我们项目目录下就会多出一个 my-storybook-ui 文件夹,存放的是打包后的文件。

四、发布到npm

初始化package.json

想要发布到 npm 仓库,我们还得在 my-storybook-ui 文件夹下初始化一个package.json文件。

进入my-storybook-ui 目录

cd  my-storybook-ui

初始化配置

npm init -y

由于这里我们只是测试,所以我不需要更改package.json文件,如果是生产的话,最好加上版本描述和版本号等等,其中name字段便是我们上传到npm仓库后的名称。

发布到npm仓库

  • 注册账号

想要发布到npm仓库,就必须要有一个账号,先去npm官网注册一个账号,注意记住用户名、密码和邮箱,发布的时候可能会用到。

  • 设置npm源

有些小伙伴可能本地的npm镜像源采用的是淘宝镜像源或者其它的,如果想要发布npm包,我们得吧我们得npm源切换为官方得源,命令如下:

npm config set registry=https://registry.npmjs.org
  • 添加npm用户

进入 my-storybook-ui 目录,添加npm用户,执行命令:

npm adduser

这里会让你填写用户名等等,如果之前设置过即可跳过此步。

  • 发布npm

在 my-storybook-ui 目录下执行命令:

npm publish

如果发布失败可能是名字重复了,改了名字即可,发布成功后,我们即可到npm光网上查看自己发布得npm包:

五、使用组件

安装组件

npm install my-storybook-ui --save-dev

注册组件

main.js 文件中注册全局组件

import MyStorybookUi from 'my-storybook-ui'
import 'my-storybook-ui/my-storybook-ui.css'
Vue.use(MyStorybookUi)

启动项目

npm run serve

六、源码

git 地址:github.com/you-hei-mi/…
组件地址:my-storybook-ui - npm (npmjs.com)
组件文档:Configure your project - Docs ⋅ Storybook (you-hei-mi.github.io)

以上是入门篇的所有内容,如果想进一步了解更多,可以查看进阶篇。↓↓↓

在路上:Storybook vue2组件库搭建到 npm 发布【进阶篇】0 赞同 · 0 评论文章