市面上目前已有各种各样的UI组件库,比如 Element 和 iView,他们的强大毋庸置疑.但是我们面临的情况是需求越来越复杂,当它们不能再满足我们需求的时候,这个时候就有必要开发一套属于自己团队的组件库了. 为何要进行组件库开发? 如果你所在的公司对于页面的样式没有什么要求,那么你只要随便拿一个组件库来用就行了,比如element.iView等等,不用再重复造轮子了:如果你目前只有个人用一个组件,或者是只对个别组件有要求,那么只要在你的工程里面开发一个.vue单文件组件就可以了:如果你的团队…
上次发布的随笔忘记提供源代码了,今天特地来补充,如果有什么问题,欢迎大家为我修改指正. vue.config.js文件: const path = require('path') function resolve (dir) { return path.join(__dirname, '..', dir) } module.exports = { // 将entry指向examples pages: { index: { entry: 'examples/main.js', template:…
cube-ui 是滴滴去年底开源的一款基于 Vue.js 2.0 的移动端组件库,主要核心目标是做到体验极致.灵活性强.易扩展以及提供良好的周边生态-后编译. 自 17 年 11 月开源至今已有 5 个月,在这个过程中 cube-ui 受到了不少的关注,同时从社区中也收到了很多很好的反馈和建议.我们也一直在迭代更新,从最初的 1.0 版本到最近发布的 1.7 的版本,除了对原有组件做一些增强优化,我们也提供了很多新的组件.此外,周边后编译技术生态也做了很多优化,满足于更多场景需求,官网也做了一次…
前言: 开发vue组件库需要提供组件的使用文档,最好是有渲染到浏览器的demo实例,既能操作又能查看源代码.markdown作为常用的文档编写载体,如果能在里面直接写vue组件,同时编写使用说明就再好不过.流行的组件库element-ui的文档就是用markdown写出来的,看了看其处理md的程序后,自己也决定写一个类似的处理程序,研究一下其中的细节. 技术点 1.markdown-it 处理markdown最常用的工具是markdown-it,它能把我们写的markdown文件转换为html.…
前段时间一直在研究Vue组件库,终于在组内派上了用场.来给大家贡献一篇关于Vue组件库的相关知识.经验不多,如果有不合理的地方还请多多指出哦--- 回想一下,在你们公司或者你们小组是否有一个以上的项目需要你维护?你是否遇到两个项目需要开发类似的功能的情况?那么你是怎么做的呢? 有这么三种常用的解决方案: COPY 你可能会说我讲究速度,复制之前的组件到新项目中,慢慢的你会发现随着你的项目的增加代码量在成倍上升,重复工作浪费了你很多时间. 子模块 我可以抽离出所有公共的组件放入一个子模块(git…
先说一下这篇文章的诞生原因.我们有一个这样的项目,类似或者说就是一个仪表板-Dashboard,其中的各个部分可能不是一个部门写的……我们需要提供拖拽布局(大小和位置)和展示的能力.要实现这样一个功能,想了好几种方式实现(后面的笔记详说),最后选择了这篇笔记的实现方式:写整个项目的,算是使用方:写每个组件的,算是vue类库(UI.组件库)的提供方.之后就是我们如何使用这些类库的问题了,就像我们使用element-ui一样,这样说就明白了吧!这里不说父子之间如何通信以及如何使用类库,只说如何打包类…
前文回顾:Vue+Spring Boot 前后端分离的商城项目开源啦! Vue 组件千千万,只要不行咱就换. ElementUI 近况 根据我最近的观察,得知一些关于 ElementUI 维护人员都退去的消息,这意味着什么?这意味着后期 ElementUI 将无人维护,就算 Vue3.0 正式版出来 ,ElementUI 的代码也将不会被迭代.从下面的图片中我们也可以看到,最新的一次更新在今年的 5月18日,Github 上 46k+ 的项目,整整三个月没有迭代更新了. 这里放几个知乎链接: e…
最近使用ElementUI做项目的时候用Babel的插件babel-plugin-component做按需加载,使得组件打包的JS和CSS包体积大大缩小,加载速度也大大提升,所有想模仿做一个组件库也来做下按需加载. 首先用Vue CLI 3.0新建一个项目 vue create bes-ui 注意的是cli3的脚手架用的Babel7的配置,只有babel.config.js文件,所以要自己添加.babelrc文件. 项目结构 新建项目之后,可以按照自己的想法建文件结构,也可以按照babel-pl…
一.组件库 移动端商城 Vue 组件库…
发布 Vant - 高效的 Vue 组件库,再造一个有赞移动商城也不在话下:https://segmentfault.com/a/1190000011377961 vantUI框架在vue项目中的应用踩坑:https://blog.csdn.net/milli236/article/details/81170885…
1.新建文件夹在终端打开执行 npm init -y 生成package.json如下,注意如果要发布到npm,name不能有下划线,大写字母等 { "name": "vuecomponentdi", "version": "1.0.0", "description": "", "main": "index.js", "scripts&q…
项目示例 github ​ 1. 创建项目 # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack meowui # 安装依赖 $ cd meowui $ npm install $ npm run dev ​ 2. 规划目录结构 这里参考element-ui和iview的目录结构 |-- examples // 原 src 目录,改成 examples 用作示例展示 |--…
简介 本文会从零开始配置一个monorepo类型的组件库,包括规范化配置.打包配置.组件库文档配置及开发一些提升效率的脚本等,monorepo 不熟悉的话这里一句话介绍一下,就是在一个git仓库里包含多个独立发布的模块/包. ps.本文涉及到的工具配置其实在平时开发中一般都不需要自己配置,我们使用的各种脚手架都帮我们搞定了,但是我们至少得大概知道都是什么意思以及为什么,说来惭愧,笔者作为一个三四年工龄的前端老人,基本没有自己动手配过,甚至没有去了解过,所以以下大部分工具都是笔者第一次使用,除了介…
制作了一套自己的组件库,并发布到npm上,项目代码见 GitHub . 前期准备 有一个npm账号 安装了vue-cli 搭建项目 vue init webpack hg-vcomponents cd hg-vcomponents cnpm install 目录结构 - vue-flag-list + build + dist // 存放发布到npm的代码 - src - components // 存放组件源代码 和 README.md - arrows arrows.vue README.m…
一.vue的Element组件库 官网:https://element.eleme.cn/#/zh-CN 1.1安装 推荐安装方法: 首先要进入项目目录 cnpm i element-ui -S 或 npm i element-ui -S 1.1.2 CDN安装 直接引入无需安装: <!-- 引入样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/i…
目录 Element 介绍 什么是 Element ? Element 快速入门 Element 常用组件 基础布局 容器布局 表单组件 表格组件 顶部导航栏组件 侧边导航栏组件 Element 介绍 什么是 Element ? Element 是网站快速成型工具,是饿了么公司前端开发团队提供的一套基于 Vue 的网站组件库. 组件:组成网页的部件,例如超链接.按钮.图片.表格等等. 使用 Element 的前提是必须要有 Vue. Element 官网 样式示例: 自己完成的按钮: Eleme…
前言: 前端组件化是当今热议的话题之一,也是我们在开发单页应用经常会碰到的一个问题,现在我们有了功能非常完善的Element-UI.各个大厂也相继宣布开源XXX-UI.但是也会存在一些问题,比如每个公司可能需要的业务组件不尽相同,或者我们想自己开发一套属于自己的组件库,来增强对组件的可控性.那么我们该如何去做呢? 这里记录一下我从零开始搭建起来的组件库的过程,目前只有简单几个组件,不过我也会慢慢更新维护:VV-UI 1. 环境准备 我们搭建组件库,需要准备一系列环境,首先我们要考虑一下问题: 脚…
前言: 前端组件化是当今热议的话题之一,也是我们在开发单页应用经常会碰到的一个问题,现在我们有了功能非常完善的Element-UI.各个大厂也相继宣布开源XXX-UI.但是也会存在一些问题,比如每个公司可能需要的业务组件不尽相同,或者我们想自己开发一套属于自己的组件库,来增强对组件的可控性.那么我们该如何去做呢?这里记录一下我从零开始搭建起来的组件库的过程,目前只有简单几个组件,不过我也会慢慢更新维护. 项目github地址:github项目演示地址: 演示 1. 环境准备 我们搭建组件库,需要…
在Vue开发中提供组件库时常常需要添加相关属性,用来接收父组件向子组件传递的数据,通常也会给属性设置默认值,那么当属性的类型是Object或者Array类型时如何设置默认值比较合理呢?下面将揭晓这一过程. (1)刚接触的时候我们可能会习惯这样设置默认值,如下图所示: 不管是String类型还是Object类型,都是直接采用key-value的方式提供default值.这样书写,对String类型是没啥影响,不过对Object类型就会有影响,不过这种影响也只是一种警告,不会导致界面出错,并且这种警…
每个组件库都有它们自己的文档.所以当我们开发完成我们自己的组件库必须也需要一个组件库文档.如果你还不了解如何搭建自己的组件库可以看这里->从零搭建Vue3组件库.看完这篇文章你就会发现原来搭建和部署一个组件库文档是那么的简单.当然部署也不需要你有自己的服务器,你只要有github即可.由于我们的组件库还没有完成,所以下面就以element-plus作为示例来搭建一个文档吧. 安装vitepress 首先新建文件夹就叫kittydocs,执行pnpm init初始化,然后安装vitepress p…
前言: 刚开源出来的VV-UI目前刚刚起步,组件不是很多,非常欢迎大家的pr和Star.项目地址: https://github.com/VV-UI/VV-UI演示地址: https://vv-ui.github.io/VV-UI/#/目前组件库已经引入meta-info管理单页面title meta link等常用的seo问题.回归正题,如何搭建一套基于Vue的组件库呢? 1. 环境准备 我们搭建组件库,需要准备一系列环境,首先我们要考虑一下问题: 脚手架如何搭建 如何规划目录结构 如何编写文…
图标管理 前言 一.常用图标库网站 1.http://icomoon.io 阿里巴巴矢量图 身边的 2.http://fontawesome.dashgame.com iconmoon 3.http://www.iconfont.cn Font Awesome 2.http://icomoon.io,使用该网站集中管理图标库 其实,之前使用的是阿里的iconfont,研究饿了么源码发现,还有这么一个好用的网站. 可以通过fontclass,引入icon,支持ie,可自定义图标,fontclass…
前言 将近期项目内自行开发一个vue组件,做个总结,记录下自己的思维过程~~~ 正文 接到这个任务后,还是要做些准备工作的. 主要内容如下: 1.优化下所在团队前端开发流程 服务器搭建gitlab,采用git进行代码版本管理 服务器搭建npm私服(基于verdaccio) 2.继续学习webpack4 3.学习借鉴两个vue组件,element-ui和ant-desigin-vue 4.组件主要功能划分 总结 很遗憾,所在团队前端开发流程不够规范和完善,想借此次组件开发,推一些前端的新技术并多多…
滴滴cube-ui https://didi.github.io/cube-ui/#/zh-CN/docs/quick-start 有赞开源Vant(适合做商城) https://tech.youzan.com/vant-1-release/?from=timeline Radon-UI https://luojilab.github.io/radon-ui/#!/ WD-UI https://wdfe.github.io/wdui/#/components/dialog https://git…
一.组件库的价值 就个人而言,拥有一套自己的组件库,可以让你的开发变得更高效,让你在行业里更有价值. 就团队而言,拥有一套团队的组件库,可以让协同开发变得更高效规范,让你的团队在公司更具有影响力. 就公司而言,拥有一套公司维护的开源组件库,可以让你的公司在行业里更具有影响力. 二.哪些情况需要整合一套组件库 从业务上看,当业务达到一定规模后,很多地方需要复用 从设计上看,产品要遵循一定的设计规范来保持统一性 从开发上看,对开发效率要求高,需要快速迭代和响应开发需求 从维护上看,需要统一代码管理,…
经过了两个月不到的开发时间,我们phonycode团队顺利的发布了小程序的UI组件库 wuss-ui 的第一个版本.目前大体预览如下 介绍 wussUI 现在有大概27个组件左右, 目前基础组件都有了,布局组件比较少.我们将会在wuss 第二期开发的时候添加更多关于布局的组件. 目前我们也在npm上发布了wussUI的第一个版本,欢迎直接下载使用. npm install wuss-weapp -s --production 目前,小程序也有大部分开源的组件库了,比如taroUI.vant-ui…
一.npm publish发布包到npm库的命令是npm publish npm publish发布包,需要先配置webpack.json文件,如果没有webpack.json文件,可以通过npm init命令初始化一个 package.json的部分字段简介如下 name:发布的包名,默认是上级文件夹名.不得与现在npm中的包名重复.包名不能有大写字母/空格/下滑线! version:你这个包的版本,默认是1.0.0.对于npm包的版本号有着一系列的规则,模块的版本号采用X.Y.Z的格式,具体…
router:根据不同的地址跳转到不同的页面一.vue-router的使用 1.下载路由模块      npm vue-router --save 2.在router.js中 先引入路由    import Router from 'vue-router' 接着通过use在vue全局注册使用    Vue.use(Router) 最后将路由表导出  export default new router({ }) 3.在main.js中引入路由组件   import router from './r…
有这样一个场景,在组件库中新增一个配置文件,后续只修改一下配置文件中的配置项就可以实现不同的需求,下面就让我们I一起来实现吧. (一)在在项目的根目录(package.json所在目录)中创建一个vue.config.js文件,创建一个static文件夹,并在该文件夹中创建一个config.js文件,文件结构目录如下所示:       (二)在vue.config.js文件添加这样的内容: const path = require('path') const CopyWebpackPlugin…
没事的,有点时候编辑器报错,但运行不一定出错, 在vue组件中注意template标签…