首页 > 其他分享 >vue封装公共组件库并发布到npm库

vue封装公共组件库并发布到npm库

时间:2023-06-15 17:04:01浏览次数:46  
标签:npm vue 封装 components component Vue install packages

利用的原理:
  vue框架提供的api: Vue.use( plugin),我们把封装好组件的项目打包成vue库,并提供install方法,然后发布到npm中。Vue.use( plugin )的时候会自动执行插件中的install方法。

 

一、组件库代码目录调整

1.根目录创建packages文件夹
2.在packages文件夹中新增components文件夹-用于存放所有的组件
3.在packages文件夹中新增index.js
【以后我们的所有操作都是基于packages这个文件进行的,也就是将它打包成dist】
4.把src改成examples一用于进行代码测试

 二、配置文件

1.packages/index.js文件

import MyButton from './components/MyButton.vue'
const components = [MyButton]
const install = function (Vue) {   components.forEach(component => {     Vue.component(component.name, component)   })   if (typeof window !== 'undefined' && window.Vue) {     install(window.Vue)   } } export default {   install }

2.新增vue.config.js配置

 

标签:npm,vue,封装,components,component,Vue,install,packages
From: https://www.cnblogs.com/angia/p/17483276.html

相关文章

  • 关于vue 使用setInterval定时器关闭失效的问题 原因为事件传播
    /****data.isPlay为显示那个按钮**startHandle开始定时器setInterval**pauseHandle,stopHandle理解为关闭定时器就好了clearInterval**/<viewclass="btn"@click.stop="startHandle"><viewclass="btn-statusbtn-play"><view......
  • Vue 中 组件通信 - 子传父(自定义事件)
    Vue中组件通信-子传父(自定义事件)Vue中组件通信-子传父(自定义事件)子传父步骤:在子组件的data里面定义好要传递的数据在子组件的模版里面正常使用该数据(一般是通过一定的动作,如点击,滑动等,来自定义事件向父组件传递,这里以click为例)在子组件的methods里面定义this.$......
  • Vue简单的分页功能实现一
    Vue简单的分页功能实现一前端的分页功能其实是对数据的分页处理,主要是在js中实现对数据的分页处理,这里分享两种简单的写法,以供参考。两种方法都是用vue来实现的。首先,相关的参数都一样,在vue里的data中定义好,如下所示:varvm=newVue({el:'#app',data:{list......
  • vue简单的分页功能实现二
    vue简单的分页功能实现二第二种使用vue实现分页功能的方法。首先,data数据定义:varvm=newVue({el:'#app',data:{listArray:[{'name':'赵*','age':'21','edu......
  • npm publish 发包报错npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/
    如果出现在发布的时候报这个错,说明你在package.json中登记的name已近被采用了。重名了,所以你得换一个。我们在发布一个包之前,最好拿着这个登记的name去搜一下,如果已近有了,那就要换一个。......
  • MUR20100DCR-ASEMI贴片TO-263封装快恢复二极管MUR20100DCR
    编辑:llMUR20100DCR-ASEMI贴片TO-263封装快恢复二极管MUR20100DCR型号:MUR20100DCR品牌:ASEMI封装:TO-263正向电流:20A反向耐压:1000V浪涌电流:600A恢复时间:35ns工作温度:-50°C~150°C引脚数量:3类型:快恢复二极管特性:贴片二极管、快恢复二极管、共阳极二极管MUR20100DCR应用开关电源智能家......
  • vue填坑之解决部分浏览器不支持pushState方法
    前端使用vue-router做单页面路由并开启history模式时,会碰到一个问题:部分低版本的手机浏览器、部分app以及IE9浏览器由于不支持pushState方法,会导致页面加载不出来。解决这个问题的思路是:当浏览器支持pushState方法时,开启history模式,不支持则开启hash模式对链接做判断,当跳转的......
  • MUR20100DC-ASEMI贴片TO-263封装快恢复二极管MUR20100DC
    编辑:llMUR20100DC-ASEMI贴片TO-263封装快恢复二极管MUR20100DC型号:MUR20100DC品牌:ASEMI封装:TO-263正向电流:20A反向电压:1000V引脚数量:3恢复时间:35ns正向压降:1.8V类型:快恢复二极管特性:超快恢复二极管、贴片二极管、共阴极二极管工作温度:-50°C~150°C封装尺寸:如图MUR2......
  • 使用vue ui创建vue项目
    vueui是什么?简单来说,vueui是一个可视化图形界面,方便你去创建、更新和管理vue项目,包括下载router,vuex,axios,elementui等插件,配置好一些属性以及依赖关系,方便我们使用,我个人第一次接触它就感觉非常非常非常智能和强大配置步骤  1、安装VueCLI,因为vueui是在VueCLI基础上封......
  • vue3错误归纳
    1,出错原因,找不到文件npminstall--save@/api/baseInfo/department//这个目录没有文件 2.packjson中那么没改,不知道为什么E:\gh-phm\ruoyi-ui\node_modules\normalize-package-data\lib\fixer.js:336thrownewError("Invalidname:"+JSON.stringify......