如何开发 Vue 插件?

简介: 创建一个插件(组件)目录结构:在src目录下创建一个plugins目录,写我们的button组件

如何开发 Vue 插件?



创建一个插件(组件)


目录结构:在src目录下创建一个plugins目录,写我们的button组件


09d4d862e0cb2e95d282fbf02d2c2b9e.png


// src/plugins/button/src/index.vue
<template>
    <button class="create-btn primary">
        <span>
            <slot></slot>
        </span>
    </button>
</template>
<script>
    export default {
        name: 'CreateButton'
    }
</script>
<style scoped>
.create-btn {
    display: inline-block;
    line-height: 1;
    cursor: pointer;
    background: #fff;
    border: 1px solid #dcdfe6;
    color: #606266;
    text-align: center;
    box-sizing: border-box;
    outline: none;
    margin: 0;
    transition: 0.1s;
    font-weight: 500;
    padding: 12px 20px;
    font-size: 14px;
    border-radius: 4px;
}
.primary {
    color: #fff;
    background-color: #409eff;
    border-color: #409eff;
}
</style>


2、给该插件添加一个install方法


install方法里编写相关的注册逻辑,比如:把该插件注册为全局组件,这样就可以在整个项目中使用了。


// src/plugins/button/index.js
import CreateButton from './src/index'
// 给CreateButton对象添加intall方法
CreateButton.install = function(Vue) {
    // 给Vue注册名为'CreateButton'全局组件
    Vue.component(CreateButton.name, CreateButton)
}
// 导出该对象
export default CreateButton


3、在实例化Vue前,使用Vue.use(插件) 注册你的插件。


使用Vue.use,传入CreateButton即完成注册, 它的作用是调用传入CreateButton对象的install方法


// main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import CreateButton from './plugins/button/index.js' // 导入插件
// 使用Vue.use,传入CreateButton即完成注册
// 它的作用是调用传入CreateButton对象的install方法
Vue.use(CreateButton)
Vue.config.productionTip = false
new Vue({
  router,
  render: h => h(App)
}).$mount('#app')


4、测试使用


// App.vue
<template>
  <div id="app">
    <Create-Button>按钮</Create-Button>
  </div>
</template>


效果:


8f0170bdebc8b4b3086513eff5f97080.png

目录
相关文章
|
21天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发
|
2月前
|
JavaScript 前端开发 测试技术
组件化开发:创建可重用的Vue组件
【10月更文挑战第21天】组件化开发:创建可重用的Vue组件
26 1
|
2月前
|
JavaScript 前端开发
vue全局公共组件自动引入并注册,开发效率直接起飞!
【10月更文挑战第14天】vue全局公共组件自动引入并注册,开发效率直接起飞!
52 1
|
2月前
|
存储 前端开发 中间件
vue3之vite配置vite-plugin-mock使用mock轻松创建模拟数据提高开发效率
vue3之vite配置vite-plugin-mock使用mock轻松创建模拟数据提高开发效率
302 0
|
2月前
|
JavaScript 前端开发 API
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
682 0
|
2月前
|
JavaScript 开发者
vue指令的开发看这篇文章就够了!超详细,赶快收藏!
【10月更文挑战第8天】vue指令的开发看这篇文章就够了!超详细,赶快收藏!
vue指令的开发看这篇文章就够了!超详细,赶快收藏!
|
2月前
|
JavaScript 前端开发
Vue开发必备:$nextTick方法的理解与实战场景
Vue开发必备:$nextTick方法的理解与实战场景
135 1
|
2月前
|
存储 JSON JavaScript
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
58 0
|
2月前
|
设计模式 JavaScript 开发工具
Vue开发中使用好钩子方法(hook method)可以使你的代码更加模块化和可维护
Vue开发中使用好钩子方法(hook method)可以使你的代码更加模块化和可维护
18 0
|
2月前
|
JavaScript 算法 前端开发
在Vue开发中v-if指令和v-show指令的使用介绍,v-if和v-for的优先级以及使用注意事项的介绍
在Vue开发中v-if指令和v-show指令的使用介绍,v-if和v-for的优先级以及使用注意事项的介绍
21 0
下一篇
无影云桌面