面试官:你写过vue插件吗?

302 阅读1分钟

一.组件和插件的区别

组件:单个项目中多个页面经常复用的代码,可以提取成一个公共代码进行使用,但是要不停            的通过components注册;

插件:多个项目,并且使用率很高的组件,全局注册后就可以在相应页面使用;

总结:插件可以封装组件,组件可以暴露数据给插件。

二.插件分类

由官网可知,一般分为四类编写方法:

export default {
    install(Vue, options) {
        //1.添加全局方法或属性,eg:vue-custom-element
        Vue.myGlobalMethod = function() {}
        //2.添加全局资源:指令/过滤器/过渡等,eg:vue-touch
        Vue.directive('my-ddirctive', {
            bind(el, binding, vnode, oldVnode)
})
        //3.通过全局mixin方法添加一些组件选项,eg: vuex
        Vue.mixin({
            created: function() {} 
})
        //4.添加实例方法,通过把他们添加Vue.prototype上实现
        Vue.prototype.$myMethod = function(options) {}
}
}

三.插件使用

npm下载插件后,在main.js中注册插件

...
import Vue from 'vue'
import Myplugin from './plugins/plugins.js'

Vue.use(Myplugin)

四.插件发布

发布命令

npm login
npm publish