我们在 vue
开发的时候,经常会用到组件和插件,name
组件和插件有什么区别呢?现在就来总结一下。
一、组件是什么?
官方对组件的定义是:
组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式,在Vue中每一个.vue文件都可以视为一个组件。
组件的优势
-
降低整个系统的耦合度,在保持接口不变的情况下,我们可以替换不同的组件快速完成需求,例如输入框,可以替换为日历、时间、范围等组件作具体的实现。
-
调试方便,由于整个系统是通过组件组合起来的,在出现问题的时候,可以用排除法直接移除组件,或者根据报错的组件快速定位问题,之所以能够快速定位,是因为每个组件之间低耦合,职责单一,所以逻辑会比分析整个系统要简单。
-
提高可维护性,由于每个组件的职责单一,并且组件在系统中是被复用的,所以对代码进行优化可获得系统的整体升级。
二、插件是什么?
插件通常是为了给 Vue
添加全局功能的。插件的功能范围没有严格意义上的限制 – 一般有下面几种:
- 添加全局方法或者属性。如:
vue-custom-element
- 添加全局资源:指令/过滤器/过渡等。如
vue-touch
- 通过全局混入来添加一些组件选项。如
vue-router
- 添加
Vue
实例方法,通过把它们添加到Vue.prototype
上实现。 - 一个库,提供自己的
AP
,同时提供上面提到的一个或多个功能。如vue-router
三、两者的区别
两者的区别主要在一下几个方面:
- 编写形式
- 注册形式
- 使用场景
1. 编写形式
1.1 编写组件
编写一个组件,可以有很多方式,我们最常见的就是vue
单文件的这种格式,每一个.vue
文件我们都可以看成是一个组件。
vue
文件标准格式
<template>
</template>
<script>
export