Vue插件开发,全局插件和按需加入插件
年前手下事情少,找了一个下午研究了一下Vue插件开发,首先要感谢B站的前端小野森森-2,借鉴了他的视频,自己也写了一下。把过程记录下来。
首先用vite建一个空项目。
然后新建modules文件夹,和src同级,再在下面建一个插件文件夹yy,本次就用两个插件,一个button,一个input,分将两个文件夹建在yy文件夹下,每个文件夹下新建button.vue和input.vue文件
-- button.vue
<template>
<button><slot></slot></button>
</template> <script>
export default {
name:'yybutton'
}
</script> <style> </style>
-- input.vue
<template>
<input type="text" :value="text" />
</template> <script>
export default {
name:'yyinput',
props:{
text:String
}
}
</script> <style> </style>
在yy文件夹下新建index.js,为main.js中use使用
import button from './button/button.vue'
import input from './input/input.vue' const yy = {}
const yybutton = {}
yybutton.install = Vue => Vue.component(button.name, button) const COMPONENTS = [button, input] yy.install = function (Vue, options) {
COMPONENTS.forEach((component) => {
Vue.component(component.name, component);
})
} export default yy --抛出所有
export { yybutton } --按需添加
其中yybutton抛出是可以进行按需加载,而yy是总的插件包。有新插件时在index.js中进行添加。
然后在main.js中use
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import { yybutton } from '../modules/yy'
import yy from '../modules/yy';
createApp(App).use(yy).mount('#app')
这里的use(yy)是加载所有的,也可以use(yybutton)进行按需添加。
最后在app.vue中使用,就完成了。
<script setup>
</script> <template>
<div>
<yybutton>我的按钮</yybutton>
<yyinput text="我的input"></yyinput>
</div>
</template>
源码下载地址:https://pan.baidu.com/s/12nzjKALNbxju7t_kZ4Dejg 提取码: qtgc
Vue插件开发,全局插件和按需加入插件的更多相关文章
- Vue中全局导入和按需导入的区别
export {router} //按需导出 import {router} from './router' //按需导入路由模块 export default //全局导出store模块 store ...
- vue项目引用 iView 组件——全局安装与按需加载
框架的热度,出现了不少基于Vue的UI组件库,这次项目用到了 iView 这个组件库.使用方法官网很详细. 官网:https://www.iviewui.com/ 这篇文章主要是记录一下npm 全局安 ...
- vue自定义全局组件(自定义插件)
有时候我们在做开发的时候,就想自己写一个插件然后就可以使用自己的插件,那种成就感很强.博主最近研究element-ui和axios的时候,发现他们是自定义组件,但是唯一有一点不同的是,在用elemen ...
- vue插件开发实践与要点
其实就跟组件差不多意思,组件也可以实现相关的效果,但要在用到的地方都引用插件就可以全局注册,不需引用 试着撸一个插件,有2个功能,提示和对话框 网上找了个toast插件的代码,改了改,扩展加了个dia ...
- Vue+element搭建后台管理系统-二、安装插件
我们继续上一章的内容,上一章讲到我们已经能将项目成功跑起来了,那么我们接下来把项目必用的东西完善一下. 一.安装elementUI 终于到了我们的男二了,继续在VSCode中新建一个终端,然后通过这个 ...
- vue入门全局配置
全局配置 Vue.config 是一个对象,包含 Vue 的全局配置.可以在启动应用之前修改下列属性: silent 类型:boolean 默认值:false 用法: Vue.config.silen ...
- [转]Vue项目全局配置微信分享思路详解
这篇文章给大家介绍了vue项目全局配置微信分享思路讲解,使用vue作为框架,使用vux作为ui组件库,具体内容详情大家跟随脚本之家小编一起学习吧 这个项目为移动端项目,主要用于接入公众号服务.项目采用 ...
- vue 定义全局函数,监听android返回键事件
vue 定义全局函数,监听android返回键事件 方法一:main.js 注入(1)在main.js中写入函数Vue.prototype.changeData = function (){ aler ...
- 生命周期函数以及vue的全局注册
beforeCreate 在创造实例之前 created 创造实例以后 beforeMount 在挂载前 render 渲染节点到页面上 //将虚拟dom数组渲染出来 mounted 挂载以后 bef ...
- Vue中的v-model与my97日期选择插件冲突
Vue中的v-model指令只是一个语法糖,其具体实现是:监听input框的input事件,然后将用户输入的值赋值给input框的value属性 <input type="text&q ...
随机推荐
- pg 窗口函数
窗口函数基于结果集进行计算,将计算出的结果合并到输出的结果集上,并返回多行.使用窗口函数能大幅度简化SQL代码.gaussdb提供内置的窗口函数,例如row_num().rank().lag()等,除 ...
- OutLook从excel导入联系人
1.将已有的excel打开-->另存为-->csv格式 2.用记事本打开 .CSV 文件,选择"文件"-"另存为",修改为 ANSI编码后,然后导 ...
- 使用 GIT Bash Here 打tar包文件
1.进入要被 打包的文件目录下 2.点击 Git Bash Here ---> tar cvf server.tar server/ ok!!!!!!
- Mac版SecureCRT修改配色方案
SecureCRT是一个非常好用的远程连接工具,其可以配置特定关键词的颜色来使配置调试时更显目的辨别关键内容.网络上关于SecureCRT windows版本如何配置高亮配色的教程很多,但是关于Mac ...
- pytest与allure的使用
--需要先安装pytest [1]数据驱动@pytest.mark.parametrize: @pytest.mark.parametrize只对于同一用例不同数据的传参 ①只有一个参数时 datat ...
- Python从dic中随机取值
import random a = {'lab-1': '短视频', 'lab-1': '直播'} print(random.choice(list(a.keys()))) # 从keys的list中 ...
- ubuntu 安装错误解决
1. ubuntu 安装错误解决: Preparing to unpack .../apport_2.20.9-0ubuntu7.15_all.deb .../var/lib/dpkg/info/ap ...
- HDFS、Ceph、GFS、GPFS、Swift、Lustre……容器云选择哪种分布式存储更好?
HDFS.Ceph.GFS.GPFS.Swift.Lustre--容器云选择哪种分布式存储更好?-51CTO.COM 容器云在使用分布式存储时,HDFS.CEPH.GFS.GPFS.Swift等分布式 ...
- obspy常用命令记录
如何使用obspy(适用于MAC.Linux.Windows)完全替代SAC(使用于Linux和MAC) 波形预处理 # 去均值 stream.detrend('demean') # 去线性趋势 st ...
- vue移动端在线签名
<template> <section class="signature"> <div class="signatureBox"& ...