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 ...
随机推荐
- 怎么解决CMD下执行Go出现中文乱码问题?
目录 1.报错信息如下 2.原因分析 3.解决方法 4.封装处理乱码方法 5.解决乱码完整代码 1.报错信息如下 2.原因分析 因为Go的编码是UTF-8,而CMD的活动页是cp936(GBK),因此 ...
- socket 客户端发送命令
import socket import sys import os,time reload(sys) sys.setdefaultencoding('utf8') def send_cmd(comm ...
- python中利用openpyxl、xlsxwriter库操作Excel
删除Excel指定行或列 使用openpyxl库操作Excel,可以删除指定的列 import openpyxl def excel_delete(fp): wb = openpyxl.load_wo ...
- 工作三年的.NET程序员现状及其感悟
算上实习,已经工作三年了.时间过的真的很快,我也从一开始的非标自动化行业成功转入了医疗器械行业,如今在苏州园区的BioBay工作,这里我每天都工作的挺开心的.也于11.6号第一次和如今的女朋友见面,并 ...
- 使用excel生成多条sql语句
前提: excel 表里有2列数据,现在要每一列 生成一个sql 语句,应用自定义字符 在第三行单元格里面写入:="zdy"&A2&"zdy"& ...
- 解决xpath提取的数据列表,保存时不能一一对应的问题
"""拉链函数,zip将几个列表的数据进行封装,一一对应.如果一方列表的数据,比另一方少,那么按数据少的一方对应"""# 数据个数对应相等l ...
- VSCode STM32跨平台开发环境搭建
VSCode的强大不用多说了,直接上教程: 一.到官网下载安装VSCode 二.安装完成后,打开VSCode,安装PlatformIO IDE 插件 三.安装完重启VSCode,VSCode会继续安装 ...
- Ribbit Mq 实现延迟消息
--------------------好记性不如烂笔头--------------------------- windows 环境,使用 rabbit Mq 需要安装, erl 和 rabbi ...
- linux相关命令-linux查看头两行、查看最后两行-查找一个文件里包含的error信息并且把它输出到另一个文件里-查看滚动日志-在一个目录下查找大于50M的文件-根据端口号去杀死某一个进程
1.linux查看头两行.查看最后两行 使用head(查看前几行).tail(查看末尾几行).eg:查看/home/wenjian1的前10行内容,应该是:# head -n 10 /home/wen ...
- c++学习2 基础关键词
三 volatile强制访问内存 在一个变量的频繁使用中,系统为了提高效率,会自动将内存里面的数据放入CPU里的寄存器里.但在某些特殊场景下,放入寄存器这个操作反倒会导致CPU无法及时获取最新的一手数 ...