热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何快速的写出一个Vue的icon组件?

伴随着Vue的诞生,它似乎就被人寄予厚望,不仅仅是因为其轻量级的MVVM设计方式,而且其实现了组件化开发模式,所以越来越多的人会拿Vue和AngularJS、ReactNative做比较。具

伴随着Vue的诞生,它似乎就被人寄予厚望,不仅仅是因为其轻量级的MVVM设计方式,而且其实现了组件化开发模式,所以越来越多的人会拿Vue和AngularJS、React Native做比较。具体关于它们的比较,我不做过多描述,使用哪个应该根据使用场景出发。

如何快速的写出一个Vue的icon组件?这篇文章来教你

Vue.js

最近,因为有业务需要使用Vue去开发,所以我们需要自己封装出Vue.js的各种常用组件。今天就给大家介绍一下我封装Vue的icon组件的过程。当然这篇文章不是Vue.js,Webpack类的基础教学课程,而是在大家有些基础的情况下去看的。所以文章中只介绍了部分重点的代码,以及代码的截图,如果有不大能看懂的地方可以先学下Vue和webpack的基础。如果真的有需要可以在评论处评论,我可以出些Vue,Gulp,Webpack等基础文章。

icon组件外观

首先我们看一下icon组件运行出来后的模样

如何快速的写出一个Vue的icon组件?这篇文章来教你

icon组件

icon组件实现过程

  • 项目搭建

icon组件实现后是一个可以直接使用的npm包,使用的是Yeoman构建工具,配和Gulp+Webpack,生成的工作目录结构如下

如何快速的写出一个Vue的icon组件?这篇文章来教你

目录结构

(1)config文件夹下是webpack的配置文件

(2)src下是Vue组件的源文件

(3)example文件夹下是示例,刚看到的截图就是example文件夹下的文件运行后的样子

  • icon源文件编写

项目结构生成好后,编写icon组件的源文件就是最重要的了。

icon组件是一个.vue文件,其中包含template,style和script。

我实现的icon组件样式是借助于ionicons,所以要借助于ionicons的样式文件,因此会有以下的代码

如何快速的写出一个Vue的icon组件?这篇文章来教你

引入ionicons的样式

然后考虑icon组件应该具备的几项属性,一个是样式,利用type变量去控制;一个是颜色,利用color变量去控制;一个是大小,利用size变量去控制。所以template中有以下代码

如何快速的写出一个Vue的icon组件?这篇文章来教你

template代码

在script中有以下代码

如何快速的写出一个Vue的icon组件?这篇文章来教你

script代码

同时预先定义好icon组件大中小的几个样式,因此在style中会有以下代码

如何快速的写出一个Vue的icon组件?这篇文章来教你

style代码

至此icon组件的源码编写就结束了,但并不是整个工程就结束了,需要对webpack进行设置,而这也是最重要的部分。

因为我们在icon组件的源码中引入了ionicons的样式,所以需要在webpack的配置文件中加入对css文件的解析loader,而css文件中又会引入woff,svg等文件,因此又要加入对这些文件的解析loader,如果不加入的对css,tff,svg等文件解析的话会报错

在webpack.base.js文件中加入以下代码

如何快速的写出一个Vue的icon组件?这篇文章来教你

webpack的配置

  • 样例的访问

在源文件和webpack配置好后,就可以通过在example文件夹下写demo了。

在demo.vue文件中,使用标签即可访问到自定义的icon组件

如何快速的写出一个Vue的icon组件?这篇文章来教你

icon组件的例子

通过type,size,color三个参数来定义我们需要的icon组件的样式,运行出来后的例子就如一开始运行出来的一样,是不是很好看呢?

总结

Vue的组件还有很多,例如form表单类的,View视图类,Navigation导航类等,都需要一个个去编写,不过只要我们搞懂Vue的运行模式和Webpack的编译模式就可以很方便的写出来了。


推荐阅读
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • VUE中引用路径的配置
    在vue项目开发中经常引用JS、CSS、IMG文件。当项目较大时文件层级很多,导致路径很长,我们可以通过在bulidwebpack.base.conf.js设置简便的引用路径一、 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 近来有一个需求,是需要在androidjava基础库中插入一些log信息,完成这个工作需要的前置条件有编译好的android源码具体android源码如何编译,这 ... [详细]
  • 1、前端代码需要引入:element.min.cssvue.min.jselement.min.jsaxios.min.js  nuget里面可添加 ... [详细]
  • 先下载nodejs针对windows安装安装就行。自定义安装在对应的文件夹就行安装完之后需要在电脑的环境变量里面添加两个路径通过cmd可以查看自己node的版本号最后通过运行npm ... [详细]
  • 认识Vue关于Vue的描述有不少,不外乎都会拿来与Angular和React对比,同样头顶MVVM双向数据驱动设计模式光环的Angular自然被对比的最多,但到目前为止,Angul ... [详细]
  • #ReactivityFundamentals#DeclaringReactiveState ... [详细]
  • Vue.Js_Vue之vue.js声明式渲染
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Vue之vue.js声明式渲染相关的知识,希望对你有一定的参考价值。ht ... [详细]
  • 【GO】k8s 管理系统项目的前端部分16–前端布局详解
    【GO】k8s管理系统项目[前端部分–前端布局]1.前端布局2.Layout2.1layoutsrclayoutLayout.vue ... [详细]
  • 安装npm  vue脚手架搭建vue项目
    vue安装最全步骤、脚手架搭建环境1.首先查看是否安装node.js因为整个vue环境里边的npm是基于node的.查看方式是在命令窗口中查看版本快捷键windowR输入nod ... [详细]
author-avatar
天勤-科技
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有