1.一个完整的组件项目需要什么?

必要的:

  • 组件构建方式 ( webpack / rollup 之类 ),并提供至少一个主流的输出格式 (ESModule)
  • Demo 及 Demo 源码
  • 文档,可以是 docsify之类的生成的页面,懒点就内嵌在 README 里了

其实上面的除了文档都比较容易做到,除了可能会在构建上踩坑外。那么做到了这些可以上线了吗?是的。不过看一些优秀的库其实还可以做更多的,例如下面的这些:

有就更好了:

  • 一个清晰地 README.md
  • 提供多种构建方式 es/cjs/umd 等多种格式的包
  • 一个不丑的 Logo
  • 组件截图(没 *8 说个图),有具体交互的最好还能是动图
  • package.json 不要有多余的 dependencies,尽量都在 peerDependenciesdevDependencies
  • 在 Readme 里几句话介绍清楚组件的功能

对的,以上几条说起来很容易,就像写公司内部系统时一样,想要什么什么交互的想法很美好,但是身体力行总力不从心

时间很宝贵的,能用就行了嘛,要做好谁不会,我忙...

好了,写这篇文章的目的来了

2.那么,有没有...

有没有这样一个模板可以直接拿来用,我只要关心怎么写组件就行了呢,那是当然啦!

vue-component-boilerplate 就是这样一个致力于让广大人民群众简单点,写组件项目更简单 的点的仓库,内含:

  • 组件、文档、demo 全方位一体,开箱即用
  • 优美的 Readme ,结构清晰实用!内联折叠格式的 API 文档
  • Vue 组件支持多种打包方式,采用 Bili 构建,基于 rollup,输出 es/cjs/umd三种格式
  • Demo 采用 poi 打包

上个图

3.使用方法

# 克隆项目
git clone https://github.com/waynecz/vue-component-boilerplate.git example-name cd example-name # 删除原来的 git 信息
rm -rf .git
# git 到你自己的仓库
git init && git remote add origin {your repo address}
# 安装依赖
yarn
  1. package.json 内的一些必要信息替换成你自己的

  2. 开始写组件吧!!

    # 开发
    npm run dev # 组件打包
    npm run build # 打包 demo
    npm run build:demo

4.发布组件

你都开发完后,需要发布组件了,这里贴个简单的 npm 发布教程

如果你也想写个完整的 Vue 组件项目的更多相关文章

  1. 写一个vue组件

    写一个vue组件 我下面写的是以.vue结尾的单文件组件的写法,是基于webpack构建的项目.如果还不知道怎么用webpack构建一个vue的工程的,可以移步到vue-cli. 一个完整的vue组件 ...

  2. 如何写好一个vue组件,老夫的一年经验全在这了【转】 v-bind="$attrs" 和 v-on="$listeners"

    如何写好一个vue组件,老夫的一年经验全在这了 一个适用性良好的组件,一种是可配置项很多,另一种就是容易覆写,从而扩展功能 Vue 组件的 API 来自三部分——prop.事件和插槽: prop 允许 ...

  3. Vue组件的三种调用方式

    最近在写fj-service-system的时候,遇到了一些问题.那就是我有些组件,比如Dialog.Message这样的组件,是引入三方组件库,比如element-ui这样的,还是自己实现一个?虽然 ...

  4. vue 组件发布记录

    好久没做独立的 vue 组件了,最近突然想把一个常用的 vue 组件打成一个 npm 包,方便使用.好久不用,发现已经忘记环境怎么搭建.翻看以前的组件,才慢慢回想起来,中间还出现些错误.在这记录下开发 ...

  5. 前端开发:如何写一手漂亮的 Vue

    前几日听到一句生猛与激励并存,可怕与尴尬同在,最无奈也无解的话:"90后,你的中年危机已经杀到".这令我很受触动.显然,这有些夸张了,但就目前这日复一日的庸碌下去,眨眼的功夫,那情 ...

  6. 你也可以写个服务器 - C# Socket学习2

    前言 这里说的服务器是Web服务器,是类似IIS.Tomcat之类的,用来响应浏览器请求的服务. Socket模拟浏览器的Url Get请求 首先浏览器的请求是HTTP协议.我们上一篇说过,HTTP是 ...

  7. 你也可以写个聊天程序 - C# Socket学习1

    原文:你也可以写个聊天程序 - C# Socket学习1 简述 我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解.我今天就来和大家一起学习下Socket,并写一个简单 ...

  8. vue-class-component 以class的模式写vue组件

    vue英文官网推荐了一个叫vue-class-component的包,可以以class的模式写vue组件.vue-class-component(以下简称Component)带来了很多便利: 1.me ...

  9. java nio 写一个完整的http服务器 支持文件上传 chunk传输 gzip 压缩 使用过程 和servlet差不多

    java nio 写一个完整的http服务器  支持文件上传   chunk传输    gzip 压缩      也仿照着 netty处理了NIO的空轮询BUG        本项目并不复杂 代码不多 ...

随机推荐

  1. UCP协议

    UDP只在ip数据报的服务上增加了一点功能,就是复用和分用还有差错检验的功能 (1)UDP是面向无连接:发送之前不需要建立连接,减少了时间延续 (2)UDP只是尽最大努力交付,不能保证无措 (3)UD ...

  2. iOS-开发过程中应用间跳转问题

  3. TCP源码—连接建立

    一.SYN报文处理: 公共部分:tcp_v4_rcv->tcp_v4_do_rcv->tcp_v4_cookie_check(无处理动作)->tcp_rcv_state_proces ...

  4. PowerMock用法[转]

    转:http://agiledon.github.io/blog/2013/11/21/play-trick-with-powermock/ 当我们面对一个遗留系统时,常见的问题是没有测试.正如Mic ...

  5. HUAS 1483 mex(离线+线段树)

    实在是太弱了.... 考虑离线,从mex[l,r]向mex[l,r+1]转移,显然是没啥东西可以记录的... 从mex[l,r]向mex[l+1,r]转移,记x=mex[l,r],如果[l+1,r]不 ...

  6. 【题解】CF#960 H-Santa's Gift

    好久没有写过数据结构题目了,果然还是太不自信.实际上就是要求统计一个式子: \(\sum (c[k]*p[k] - C)^{2}\) 拆开,分别统计和与平方和 \(co[k] * \sum p[k]^ ...

  7. [NOI2006]网络收费

    题面在这里 description 一棵\(2^n\)个叶节点的满二叉树,每个节点代表一个用户,有一个预先的收费方案\(A\)或\(B\); 对于任两个用户 \(i,j(1≤i<j≤2^n)i, ...

  8. 122. Best Time to Buy and Sell Stock II (Array)

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  9. BZOJ1502:[NOI2005]月下柠檬树——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=1502 https://www.luogu.org/problemnew/show/P4207 李哲 ...

  10. Linux实验一

    一.Linux 简介 1.Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS , 我们的 Linux 也就是系统调用和内核那两层,当然直观的来看,我们使 ...