2018-12-16

一. 环境配置

全局安装 vue-cli

二. 初始化项目

这里使用官方的 vue-cli 初始化一个 Vue 项目

vue-cli.png

运行项目:
npm run.png

三.写插件

在 src 文件夹下面建 lib 文件夹,用于存放插件。整个项目目录如下所示

目录.png

根据自己的需求,实现具体功能,这里主要是做个测试,这个插件的内容就很简单。
内容.png

添加vue-chen-label.js文件,js 中写 install 方法,内容如下:
写插件.png

四.本地测试

4.1 将 App.vue 多余代码删除。

4.2 在 main.js 中引入

本地测试引入.png

4.3 在 App.vue 中使用

本地测试.png

4.4 本地测试的结果

本地测试1.png

伍. 配置打包

5.1 修改 package.json

因为组件包是公用的,所以private为false
配置main结点,如果不配置,我们在其他项目中就不用import XX from '包名'来引用了,只能以包名作为起点来指定相对的路径

package.png

5.2 修改 .gitignore 文件

因为要用dist文件夹,所以在.gitignore文件中把dist/去掉。


ignore.png

5.3 修改 index.html文件

5.4 修改webpack.base.conf.js

修改打包入口文件


base.png

5.5修改webpack.prod.conf.js

为了支持多种使用场景,我们需要选择合适的打包格式。
UMD 同时支持两种执行环境。显而易见,我们应该选择 UMD 格式。Webpack 中指定输出格式的设置项为 output.libraryTarget

prod.png

另外,为了将css打包成一个文件,所以需要修改 webpack.prod.conf.js 中的
plugins 选项

css.png

六.用npm打包

打包.png

6.1发布到npm

npm官网 注册一个npm账号
登录npm账号,输入用户名、密码、邮箱
执行npm publish
这里如果之前切换过数据源,得切换回来

登录npm.png

6.2 发布成功

可以在npm官网上搜到自己写的组件


发布成功.png

七.使用

新建另一个项目
main.js引用,在App.vue使用

引用.png

使用.png

效果.png

八.组件UI库的搭建

组件库的结构

组件库结构.png

在components目录下放所有的组件,现在用tag标签组件做展示。
公共的样式可以写在styles文件夹下,在index文件里引入。

样式入口.png

公共样式.png

index.js作为组件库的入口。

组件库入口.png

views文件夹下的home.vue是示例页面。

组件库示例.png

组件库的打包,在package.json文件中创建打包命令

UI库打包.png

创建命令,这里为了方便新建了打包配置文件


UI库打包配置文件.png

打包配置代码


组件库打包.png

九.编写API文档

选用docsify,因为它本身也是基于vue写的,用Markdown写文档直接发布,入门简单,容易使用并且轻量,支持自定义主题
安装

npm i docsify-cli -g

初始化文档

默认初始化在当前目录,推荐将文档放在 docs 目录下

docsify init docs

在根目录你会发现新增了docs目录,这里面都是Markdown格式,建一个components目录放置组件的md,这里贴出我的目录:


文档结构.png

启动本地服务

启动一个 server 方便预览,打开
http://localhost:3000

docsify serve docs

文档页面构建.png

更多选项参考

docsify-cli

主题

目前提供 vue.cssbuble.css,直接修改 index.html 里的 cdn 地址即可

<link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
<link rel="stylesheet" href="//unpkg.com/docsify/themes/buble.css">

侧边栏 load-sidebar

读取侧边栏配置文件,如果配置,默认加载当前目录下的_sidebar.md。如果文件不存在,会显示 TOC 作为侧边栏内容。

<script src="/lib/docsify.js" data-load-sidebar></script>

你可以指定侧边栏文件名

<script src="/lib/docsify.js" data-load-sidebar="_sidebar.md"></script>
sidebar结构.png

repo

文档的右上角的 GitHub 图标,如果要开启的话,将 index.html 里的 script 改成

<script src="//unpkg.com/docsify" data-repo="your/repo"></script>

这些配置也可以直接在index.html页面配置

文档配置.png

部署

GitHub上新建一个Csourer.github.io的项目,
将项目 pushGitHub 仓库后到设置页面开启 GitHub Pages 功能,选择 docs/ 选项
UI组件库文档

文档.png

十.组件库预览页面

package.json页面创建打包命令

添加打包命令.png

把预览页面打包到docs文件夹下,这样同样也可以发布在GitHub
预览页面打包.png

这是现在发布到Github上的预览地址
在线示例

在线示例.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容