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 ...
随机推荐
- vue仿QQ聊天室|vue聊天实例,直播聊天室
图片压缩 百亿站点 基于vue2.0+vue-cli+vuex+vue-router+webpack+es6+wcPop等技术开发的仿微信聊天界面|仿微信聊天室vue-chatRoom,实现了微信聊天 ...
- 网络时间同步系统(NTP授时服务器)在电信网络的技术性应用研究
网络时间同步系统(NTP授时服务器)在电信网络的技术性应用研究 网络时间同步系统(NTP授时服务器)在电信网络的技术性应用研究 岳峰 15901092122 --------------------- ...
- web执行sql----vue mybatis
java @ResponseBody @RequestMapping(value = "/sqlMap", method = RequestMethod.POST) public ...
- Map 使用
1.替换map中的某个key Map<String,Object> map = new HashMap<>(); map.put("新key",map.re ...
- linux smb
/etc/samba/smb.conf [global]workgroup =WORKGROUPsecurity = usermap to guest =Bad Userpassdb backend ...
- CCF 202006-2 稀疏向量
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...
- 简单a+b
1 # include <stdio.h> 2 3 /*输入两个整数a和b,计算a+b的和 4 注意此题是多组测试数据 */ 5 6 // 我的解法 7 void main(){ 8 in ...
- 第三课 Hello World显示
HelloWorld 1.新建文件件 2.新建java文件 3.编写代码 public class Hello{ public static void main(String[] args){ Sys ...
- Write down for Segments, Extents, and Blocks
Segments, Extents, and Blocks(段.区.块) • Segments exist in a tablespace. • Segments are collections of ...
- Oracle存储过程 Call使用
在 Oracle 中,可以将存储过程(PROCEDURE)定义在一个包(PACKAGE)中. 要调用包中的存储过程,需要使用包名和存储过程名来引用它们.以下是一个示例: 假设我们有一个名为 my_pa ...